Class BsonDocumentCodec

    • Constructor Detail

      • BsonDocumentCodec

        public BsonDocumentCodec()
        Creates a new instance with a default codec registry that uses the BsonValueCodecProvider.
      • BsonDocumentCodec

        public BsonDocumentCodec​(CodecRegistry codecRegistry)
        Creates a new instance initialised with the given codec registry.
        Parameters:
        codecRegistry - the CodecRegistry to use to look up the codecs for encoding and decoding to/from BSON
    • Method Detail

      • getCodecRegistry

        public CodecRegistry getCodecRegistry()
        Gets the CodecRegistry for this Codec.
        Returns:
        the registry
      • decode

        public BsonDocument 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<BsonDocument>
        Parameters:
        reader - the BSON reader
        decoderContext - the decoder context
        Returns:
        an instance of the type parameter T.
      • encode

        public void encode​(BsonWriter writer,
                           BsonDocument 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<BsonDocument>
        Parameters:
        writer - the BSON writer to encode into
        value - the value to encode
        encoderContext - the encoder context
      • getEncoderClass

        public java.lang.Class<BsonDocument> 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<BsonDocument>
        Returns:
        the Class instance that this encodes.
      • documentHasId

        public boolean documentHasId​(BsonDocument document)
        Description copied from interface: CollectibleCodec
        Returns true if the given document has an _id.
        Specified by:
        documentHasId in interface CollectibleCodec<BsonDocument>
        Parameters:
        document - the document in which to look for an _id
        Returns:
        true if the document has an _id
      • getDocumentId

        public BsonValue getDocumentId​(BsonDocument document)
        Description copied from interface: CollectibleCodec
        Gets the _id of the given document if it contains one, otherwise throws IllegalArgumentException. To avoid the latter case, call documentHasId first to check.
        Specified by:
        getDocumentId in interface CollectibleCodec<BsonDocument>
        Parameters:
        document - the document from which to get the _id
        Returns:
        the _id of the document