Class AbstractBsonSerde<T>

  • Type Parameters:
    T -
    All Implemented Interfaces:
    io.micronaut.serde.Deserializer<T>, io.micronaut.serde.Serde<T>, io.micronaut.serde.Serializer<T>, io.micronaut.serde.util.NullableDeserializer<T>, io.micronaut.serde.util.NullableSerde<T>
    Direct Known Subclasses:
    BsonRepresentationSerde, CodecBsonDecoder

    public abstract class AbstractBsonSerde<T>
    extends java.lang.Object
    implements io.micronaut.serde.util.NullableSerde<T>
    Abstract serializer/deserializer that needs to access Bson decoder/encoder.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer

        io.micronaut.serde.Deserializer.DecoderContext
      • Nested classes/interfaces inherited from interface io.micronaut.serde.Serializer

        io.micronaut.serde.Serializer.EncoderContext
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      T deserializeNonNull​(io.micronaut.serde.Decoder decoder, io.micronaut.serde.Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type)  
      protected abstract T doDeserializeNonNull​(BsonReaderDecoder decoder, io.micronaut.serde.Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type)  
      protected abstract void doSerialize​(BsonWriterEncoder encoder, io.micronaut.serde.Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type)  
      void serialize​(io.micronaut.serde.Encoder encoder, io.micronaut.serde.Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.serde.Deserializer

        createSpecific, getDefaultValue
      • Methods inherited from interface io.micronaut.serde.util.NullableDeserializer

        allowNull, deserialize
      • Methods inherited from interface io.micronaut.serde.Serializer

        createSpecific, isAbsent, isEmpty
    • Constructor Detail

      • AbstractBsonSerde

        public AbstractBsonSerde()
    • Method Detail

      • doDeserializeNonNull

        protected abstract T doDeserializeNonNull​(BsonReaderDecoder decoder,
                                                  io.micronaut.serde.Deserializer.DecoderContext decoderContext,
                                                  io.micronaut.core.type.Argument<? super T> type)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • doSerialize

        protected abstract void doSerialize​(BsonWriterEncoder encoder,
                                            io.micronaut.serde.Serializer.EncoderContext context,
                                            T value,
                                            io.micronaut.core.type.Argument<? extends T> type)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeNonNull

        public final T deserializeNonNull​(io.micronaut.serde.Decoder decoder,
                                          io.micronaut.serde.Deserializer.DecoderContext decoderContext,
                                          io.micronaut.core.type.Argument<? super T> type)
                                   throws java.io.IOException
        Specified by:
        deserializeNonNull in interface io.micronaut.serde.util.NullableDeserializer<T>
        Throws:
        java.io.IOException
      • serialize

        public final void serialize​(io.micronaut.serde.Encoder encoder,
                                    io.micronaut.serde.Serializer.EncoderContext context,
                                    io.micronaut.core.type.Argument<? extends T> type,
                                    T value)
                             throws java.io.IOException
        Specified by:
        serialize in interface io.micronaut.serde.Serializer<T>
        Throws:
        java.io.IOException