java.lang.Object
dev.argon.esexpr.codecs.OptionalOptionalValueCodec<T>
- Type Parameters:
T- The element type.
- All Implemented Interfaces:
OptionalValueCodec<Optional<T>,T>
public class OptionalOptionalValueCodec<T>
extends Object
implements OptionalValueCodec<Optional<T>,T>
An OptionalValueCodec for Optional values.
-
Constructor Summary
ConstructorsConstructorDescriptionOptionalOptionalValueCodec(ESExprCodec<T> elementCodec) Creates an OptionalValueCodec for Optional values. -
Method Summary
Modifier and TypeMethodDescriptiondecodeOptional(Optional<ESExpr> expr, ESExprCodec.FailurePath path) Decode an optional expression into an optional value.encodeOptional(Optional<T> value) Encode an optional value into an optional expression.booleanisEncodedEqual(Optional<T> x, Optional<T> y) Determines if two optional values, after being encoded, are equal.
-
Constructor Details
-
OptionalOptionalValueCodec
Creates an OptionalValueCodec for Optional values.- Parameters:
elementCodec- A value codec for the element type.
-
-
Method Details
-
isEncodedEqual
Description copied from interface:OptionalValueCodecDetermines if two optional values, after being encoded, are equal.- Specified by:
isEncodedEqualin interfaceOptionalValueCodec<Optional<T>,T> - Parameters:
x- The first optional value to compare.y- The second optional value to compare.- Returns:
- true if the two values are encoded equally, false otherwise.
-
encodeOptional
Description copied from interface:OptionalValueCodecEncode an optional value into an optional expression.- Specified by:
encodeOptionalin interfaceOptionalValueCodec<Optional<T>,T> - Parameters:
value- The optional value.- Returns:
- The optional expression.
-
decodeOptional
public Optional<T> decodeOptional(Optional<ESExpr> expr, ESExprCodec.FailurePath path) throws DecodeException Description copied from interface:OptionalValueCodecDecode an optional expression into an optional value.- Specified by:
decodeOptionalin interfaceOptionalValueCodec<Optional<T>,T> - Parameters:
expr- The optional expression.path- The path of the current value within the decoded object for diagnostic purposes.- Returns:
- The optional value.
- Throws:
DecodeException- when the value cannot be decoded.
-