Class ConditionalCodec<T>
java.lang.Object
com.github.darksoulq.abyssallib.common.serialization.codecs.ConditionalCodec<T>
- Type Parameters:
T- Value type.
- All Implemented Interfaces:
Codec<T>
Codec that selects between two codecs based on a predicate.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.github.darksoulq.abyssallib.common.serialization.Codec
Codec.Decoder<T>, Codec.Encoder<T>, Codec.Pair<A,B>, Codec.Tuple3<A, B, C>, Codec.Tuple4<A, B, C, D> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<R> Raccept(CodecVisitor<R> visitor) Routes this instance into the visitor API to construct contextual schema layouts.<D> DataResult<T> decode(DynamicOps<D> ops, D input) Decodes a serialized input of a specific data format into a Java object.describe()Outputs a structural description of the expected format for this codec.<D> DataResult<D> encode(DynamicOps<D> ops, T value) Encodes a Java object into its serialized representation.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github.darksoulq.abyssallib.common.serialization.Codec
collection, comapFlatMap, decodeAsync, describe, encodeAsync, fieldOf, flatComapMap, flatXmap, immutableList, immutableSet, list, maxLength, minLength, nullable, oneOf, optional, optionalFieldOf, optionalFieldOf, orElse, positive, range, regex, restrict, schema, set, structuralEquals, transform, unchecked, validate, validate, versioned, withSchema, xmap
-
Constructor Details
-
ConditionalCodec
Creates a conditional codec.- Parameters:
condition- Predicate used to select the active codec.trueCodec- Codec used when the predicate matches.falseCodec- Codec used when the predicate does not match.
-
-
Method Details
-
decode
Description copied from interface:CodecDecodes a serialized input of a specific data format into a Java object. -
encode
Description copied from interface:CodecEncodes a Java object into its serialized representation. -
describe
Description copied from interface:CodecOutputs a structural description of the expected format for this codec. Useful for schema generation and validation debugging. -
accept
Description copied from interface:CodecRoutes this instance into the visitor API to construct contextual schema layouts.
-