Class BsonUndefinedCodec

  • All Implemented Interfaces:
    Codec<BsonUndefined>, Decoder<BsonUndefined>, Encoder<BsonUndefined>

    public class BsonUndefinedCodec
    extends Object
    implements Codec<BsonUndefined>

    Allows reading and writing of the BSON Undefined type. On encoding, it will write the correct type to the BsonWriter, but ignore the value, and on decoding it will read the type off the BsonReader and return an Undefined type, which simply represents a placeholder for the undefined value.

    The undefined type is deprecated (see the spec).

    Since:
    3.0
    See Also:
    BSON Spec, BsonType.UNDEFINED
    • Constructor Detail

      • BsonUndefinedCodec

        public BsonUndefinedCodec()
    • Method Detail

      • decode

        public BsonUndefined decode​(BsonReader reader,
                                    DecoderContext decoderContext)
        Description copied from interface: Decoder
        Decodes a BSON value from the given reader into an instance of the type parameter T.
        Specified by:
        decode in interface Decoder<BsonUndefined>
        Parameters:
        reader - the BSON reader
        decoderContext - the decoder context
        Returns:
        an instance of the type parameter T.
      • encode

        public void encode​(BsonWriter writer,
                           BsonUndefined value,
                           EncoderContext encoderContext)
        Description copied from interface: Encoder
        Encode an instance of the type parameter T into a BSON value.
        Specified by:
        encode in interface Encoder<BsonUndefined>
        Parameters:
        writer - the BSON writer to encode into
        value - the value to encode
        encoderContext - the encoder context
      • getEncoderClass

        public Class<BsonUndefined> getEncoderClass()
        Description copied from interface: Encoder
        Returns the Class instance that this encodes. This is necessary because Java does not reify generic types.
        Specified by:
        getEncoderClass in interface Encoder<BsonUndefined>
        Returns:
        the Class instance that this encodes.