Package io.micronaut.serde.bson.custom
Class AbstractBsonSerde<T>
java.lang.Object
io.micronaut.serde.bson.custom.AbstractBsonSerde<T>
- Type Parameters:
T-
- All Implemented Interfaces:
Deserializer<T>,Serde<T>,Serializer<T>
- Direct Known Subclasses:
BsonRepresentationSerde,CodecBsonDecoder
Abstract serializer/deserializer that needs to access Bson decoder/encoder.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer
Deserializer.DecoderContextNested classes/interfaces inherited from interface io.micronaut.serde.Serializer
Serializer.EncoderContext -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Tdeserialize(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) Deserializes from the current state of theDecoderan object of typeDeserializer.protected abstract TdoDeserialize(BsonReaderDecoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) protected abstract voiddoSerialize(BsonWriterEncoder encoder, Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type) final voidserialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) Serializes the given value using the passedEncoder.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.serde.Deserializer
allowNull, createSpecific, deserializeNullable, getDefaultValueMethods inherited from interface io.micronaut.serde.Serializer
createSpecific, isAbsent, isDefault, isEmpty
-
Constructor Details
-
AbstractBsonSerde
public AbstractBsonSerde()
-
-
Method Details
-
doDeserialize
protected abstract T doDeserialize(BsonReaderDecoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) throws IOException - Throws:
IOException
-
doSerialize
protected abstract void doSerialize(BsonWriterEncoder encoder, Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type) throws IOException - Throws:
IOException
-
deserialize
public final T deserialize(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) throws IOException Description copied from interface:DeserializerDeserializes from the current state of theDecoderan object of typeDeserializer.- Specified by:
deserializein interfaceDeserializer<T>- Parameters:
decoder- The decoder, nevernulldecoderContext- The decoder context, nevernulltype- The generic type to be deserialized- Returns:
- The deserialized object or
nullonly ifDeserializer.allowNull()returnstrue - Throws:
IOException- If an error occurs during deserialization of the object
-
serialize
public final void serialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) throws IOException Description copied from interface:SerializerSerializes the given value using the passedEncoder.- Specified by:
serializein interfaceSerializer<T>- Parameters:
encoder- The encoder to usecontext- The encoder context, nevernulltype- Models the generic type of the valuevalue- The value, can benull- Throws:
IOException- If an error occurs during serialization
-