| Constructor and Description | 
|---|
| DocumentCodec()Construct a new instance with a default  CodecRegistryand | 
| DocumentCodec(CodecRegistry registry,
             BsonTypeClassMap bsonTypeClassMap)Construct a new instance with the given registry and BSON type class map. | 
| DocumentCodec(CodecRegistry registry,
             BsonTypeClassMap bsonTypeClassMap,
             Transformer valueTransformer)Construct a new instance with the given registry and BSON type class map. | 
| Modifier and Type | Method and Description | 
|---|---|
| Document | decode(BsonReader reader,
      DecoderContext decoderContext)Decodes a BSON value from the given reader into an instance of the type parameter  T. | 
| boolean | documentHasId(Document document)Returns true if the given document has an _id. | 
| void | encode(BsonWriter writer,
      Document document,
      EncoderContext encoderContext)Encode an instance of the type parameter  Tinto a BSON value. | 
| Document | generateIdIfAbsentFromDocument(Document document)Generates a value for the _id field on the given document, if the document does not have one. | 
| BsonValue | getDocumentId(Document document)Gets the _id of the given document if it contains one, otherwise throws  IllegalArgumentException. | 
| Class<Document> | getEncoderClass()Returns the Class instance that this encodes. | 
public DocumentCodec()
CodecRegistry andpublic DocumentCodec(CodecRegistry registry, BsonTypeClassMap bsonTypeClassMap)
registry - the registrybsonTypeClassMap - the BSON type class mappublic DocumentCodec(CodecRegistry registry, BsonTypeClassMap bsonTypeClassMap, Transformer valueTransformer)
registry - the registrybsonTypeClassMap - the BSON type class mapvalueTransformer - the value transformer to use as a final step when decoding the value of any field in the documentpublic boolean documentHasId(Document document)
CollectibleCodecdocumentHasId in interface CollectibleCodec<Document>document - the document in which to look for an _idpublic BsonValue getDocumentId(Document document)
CollectibleCodecIllegalArgumentException.  To avoid the latter case,
 call documentHasId first to check.getDocumentId in interface CollectibleCodec<Document>document - the document from which to get the _idpublic Document generateIdIfAbsentFromDocument(Document document)
CollectibleCodecgenerateIdIfAbsentFromDocument in interface CollectibleCodec<Document>document - the document for which to generate a value for the _id.public void encode(BsonWriter writer, Document document, EncoderContext encoderContext)
EncoderT into a BSON value.public Document decode(BsonReader reader, DecoderContext decoderContext)
DecoderT.public Class<Document> getEncoderClass()
EncodergetEncoderClass in interface Encoder<Document>