Class EitherCodec<A,B>
java.lang.Object
com.github.darksoulq.abyssallib.common.serialization.codecs.EitherCodec<A,B>
- Type Parameters:
A- Left value type.B- Right value type.
Codec representing a value that may be decoded by either of two codecs.
-
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<Either<A, B>> 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, Either<A, B> either) 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
-
EitherCodec
Creates an either codec.- Parameters:
left- Left branch codec.right- Right branch codec.
-
-
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.- Specified by:
encodein interfaceCodec<A>- Type Parameters:
D- The target type of the serialized data.- Parameters:
ops- The provider defining how to construct data of type D.either- The Java object instance to be serialized.- Returns:
- A DataResult containing the serialized data or an error state.
-
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.
-