Package com.io7m.cedarbridge.runtime.api
Interface CBOptionType<T extends CBSerializableType>
- Type Parameters:
T- The type of values
- All Superinterfaces:
CBSerializableType,Formattable
public sealed interface CBOptionType<T extends CBSerializableType>
extends Formattable, CBSerializableType
permits CBNone<T>, CBSome<T>
The option type.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends CBSerializableType>
CBOptionType<T> deserialize(CBSerializationContextType context, CBDeserializeType<T> fv) Deserialize the given value.static <T extends CBSerializableType>
CBOptionType<T> fromOptional(Optional<T> opt) Convert the given Java optional value to an option value.static <T extends CBSerializableType>
voidserialize(CBSerializationContextType context, CBOptionType<T> x, CBSerializeType<T> ft) Serialize the given value.Methods inherited from interface java.util.Formattable
formatTo
-
Method Details
-
asOptional
- Returns:
- This value as a Java Optional
-
fromOptional
Convert the given Java optional value to an option value.- Type Parameters:
T- The type of contained values- Parameters:
opt- The Java optional- Returns:
- The option value
-
serialize
static <T extends CBSerializableType> void serialize(CBSerializationContextType context, CBOptionType<T> x, CBSerializeType<T> ft) throws IOException Serialize the given value.- Type Parameters:
T- The type of optional values- Parameters:
context- The serialization contextx- The valueft- A serializer forT- Throws:
IOException- On errors
-
deserialize
static <T extends CBSerializableType> CBOptionType<T> deserialize(CBSerializationContextType context, CBDeserializeType<T> fv) throws IOException Deserialize the given value.- Type Parameters:
T- The type of optional values- Parameters:
context- The serialization contextfv- A deserializer forT- Returns:
- The deserialized value
- Throws:
IOException- On errors
-