public class BsonDocumentCodec extends Object implements CollectibleCodec<BsonDocument>
| Constructor and Description | 
|---|
| BsonDocumentCodec()Creates a new instance with a default codec registry that uses the  BsonValueCodecProvider. | 
| BsonDocumentCodec(CodecRegistry codecRegistry)Creates a new instance initialised with the given codec registry. | 
| Modifier and Type | Method and Description | 
|---|---|
| BsonDocument | decode(BsonReader reader,
      DecoderContext decoderContext)Decodes a BSON value from the given reader into an instance of the type parameter  T. | 
| boolean | documentHasId(BsonDocument document)Returns true if the given document has an _id. | 
| void | encode(BsonWriter writer,
      BsonDocument value,
      EncoderContext encoderContext)Encode an instance of the type parameter  Tinto a BSON value. | 
| BsonDocument | generateIdIfAbsentFromDocument(BsonDocument document)Generates a value for the _id field on the given document, if the document does not have one. | 
| CodecRegistry | getCodecRegistry()Gets the  CodecRegistryfor thisCodec. | 
| BsonValue | getDocumentId(BsonDocument document)Gets the _id of the given document if it contains one, otherwise throws  IllegalArgumentException. | 
| Class<BsonDocument> | getEncoderClass()Returns the Class instance that this encodes. | 
| protected BsonValue | readValue(BsonReader reader,
         DecoderContext decoderContext)This method may be overridden to change the behavior of reading the current value from the given  BsonReader. | 
public BsonDocumentCodec()
BsonValueCodecProvider.public BsonDocumentCodec(CodecRegistry codecRegistry)
codecRegistry - the CodecRegistry to use to look up the codecs for encoding and decoding to/from BSONpublic CodecRegistry getCodecRegistry()
CodecRegistry for this Codec.public BsonDocument decode(BsonReader reader, DecoderContext decoderContext)
DecoderT.decode in interface Decoder<BsonDocument>reader - the BSON readerdecoderContext - the decoder contextT.protected BsonValue readValue(BsonReader reader, DecoderContext decoderContext)
BsonReader.  It is required
 that the value be fully consumed before returning.reader - the read to read the value fromdecoderContext - the contextpublic void encode(BsonWriter writer, BsonDocument value, EncoderContext encoderContext)
EncoderT into a BSON value.encode in interface Encoder<BsonDocument>writer - the BSON writer to encode intovalue - the value to encodeencoderContext - the encoder contextpublic Class<BsonDocument> getEncoderClass()
EncodergetEncoderClass in interface Encoder<BsonDocument>public BsonDocument generateIdIfAbsentFromDocument(BsonDocument document)
CollectibleCodecgenerateIdIfAbsentFromDocument in interface CollectibleCodec<BsonDocument>document - the document for which to generate a value for the _id.public boolean documentHasId(BsonDocument document)
CollectibleCodecdocumentHasId in interface CollectibleCodec<BsonDocument>document - the document in which to look for an _idpublic BsonValue getDocumentId(BsonDocument document)
CollectibleCodecIllegalArgumentException.  To avoid the latter case,
 call documentHasId first to check.getDocumentId in interface CollectibleCodec<BsonDocument>document - the document from which to get the _id