Package org.bson.codecs
Class BsonDocumentCodec
- java.lang.Object
-
- org.bson.codecs.BsonDocumentCodec
-
- All Implemented Interfaces:
Codec<BsonDocument>,CollectibleCodec<BsonDocument>,Decoder<BsonDocument>,Encoder<BsonDocument>
public class BsonDocumentCodec extends java.lang.Object implements CollectibleCodec<BsonDocument>
A codec for BsonDocument instances.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description BsonDocumentCodec()Creates a new instance with a default codec registry that uses theBsonValueCodecProvider.BsonDocumentCodec(CodecRegistry codecRegistry)Creates a new instance initialised with the given codec registry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BsonDocumentdecode(BsonReader reader, DecoderContext decoderContext)Decodes a BSON value from the given reader into an instance of the type parameterT.booleandocumentHasId(BsonDocument document)Returns true if the given document has an _id.voidencode(BsonWriter writer, BsonDocument value, EncoderContext encoderContext)Encode an instance of the type parameterTinto a BSON value.BsonDocumentgenerateIdIfAbsentFromDocument(BsonDocument document)Generates a value for the _id field on the given document, if the document does not have one.CodecRegistrygetCodecRegistry()Gets theCodecRegistryfor thisCodec.BsonValuegetDocumentId(BsonDocument document)Gets the _id of the given document if it contains one, otherwise throwsIllegalArgumentException.java.lang.Class<BsonDocument>getEncoderClass()Returns the Class instance that this encodes.
-
-
-
Constructor Detail
-
BsonDocumentCodec
public BsonDocumentCodec()
Creates a new instance with a default codec registry that uses theBsonValueCodecProvider.
-
BsonDocumentCodec
public BsonDocumentCodec(CodecRegistry codecRegistry)
Creates a new instance initialised with the given codec registry.- Parameters:
codecRegistry- theCodecRegistryto use to look up the codecs for encoding and decoding to/from BSON
-
-
Method Detail
-
getCodecRegistry
public CodecRegistry getCodecRegistry()
Gets theCodecRegistryfor thisCodec.- Returns:
- the registry
-
decode
public BsonDocument decode(BsonReader reader, DecoderContext decoderContext)
Description copied from interface:DecoderDecodes a BSON value from the given reader into an instance of the type parameterT.- Specified by:
decodein interfaceDecoder<BsonDocument>- Parameters:
reader- the BSON readerdecoderContext- 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:EncoderEncode an instance of the type parameterTinto a BSON value.- Specified by:
encodein interfaceEncoder<BsonDocument>- Parameters:
writer- the BSON writer to encode intovalue- the value to encodeencoderContext- the encoder context
-
getEncoderClass
public java.lang.Class<BsonDocument> getEncoderClass()
Description copied from interface:EncoderReturns the Class instance that this encodes. This is necessary because Java does not reify generic types.- Specified by:
getEncoderClassin interfaceEncoder<BsonDocument>- Returns:
- the Class instance that this encodes.
-
generateIdIfAbsentFromDocument
public BsonDocument generateIdIfAbsentFromDocument(BsonDocument document)
Description copied from interface:CollectibleCodecGenerates a value for the _id field on the given document, if the document does not have one.- Specified by:
generateIdIfAbsentFromDocumentin interfaceCollectibleCodec<BsonDocument>- Parameters:
document- the document for which to generate a value for the _id.- Returns:
- the document with the _id
-
documentHasId
public boolean documentHasId(BsonDocument document)
Description copied from interface:CollectibleCodecReturns true if the given document has an _id.- Specified by:
documentHasIdin interfaceCollectibleCodec<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:CollectibleCodecGets the _id of the given document if it contains one, otherwise throwsIllegalArgumentException. To avoid the latter case, calldocumentHasIdfirst to check.- Specified by:
getDocumentIdin interfaceCollectibleCodec<BsonDocument>- Parameters:
document- the document from which to get the _id- Returns:
- the _id of the document
-
-