Package com.mongodb
Class DBObjectCodec
- java.lang.Object
-
- com.mongodb.DBObjectCodec
-
- All Implemented Interfaces:
Codec<DBObject>
,CollectibleCodec<DBObject>
,Decoder<DBObject>
,Encoder<DBObject>
,OverridableUuidRepresentationCodec<DBObject>
public class DBObjectCodec extends Object implements CollectibleCodec<DBObject>, OverridableUuidRepresentationCodec<DBObject>
A collectible codec for a DBObject.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description DBObjectCodec()
Construct an instance with the default codec registryDBObjectCodec(CodecRegistry codecRegistry)
Construct an instance with the given codec registry.DBObjectCodec(CodecRegistry codecRegistry, BsonTypeClassMap bsonTypeClassMap)
Construct an instance.DBObjectCodec(CodecRegistry codecRegistry, BsonTypeClassMap bsonTypeClassMap, com.mongodb.DBObjectFactory objectFactory)
Construct an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DBObject
decode(BsonReader reader, DecoderContext decoderContext)
Decodes a BSON value from the given reader into an instance of the type parameterT
.boolean
documentHasId(DBObject document)
Returns true if the given document has an _id.void
encode(BsonWriter writer, DBObject document, EncoderContext encoderContext)
Encode an instance of the type parameterT
into a BSON value.DBObject
generateIdIfAbsentFromDocument(DBObject document)
Generates a value for the _id field on the given document, if the document does not have one.BsonValue
getDocumentId(DBObject document)
Gets the _id of the given document if it contains one, otherwise throwsIllegalArgumentException
.Class<DBObject>
getEncoderClass()
Returns the Class instance that this encodes.Codec<DBObject>
withUuidRepresentation(UuidRepresentation uuidRepresentation)
Implementations must return a new instance with theUuidRepresentation
overridden with the given value.
-
-
-
Constructor Detail
-
DBObjectCodec
public DBObjectCodec()
Construct an instance with the default codec registry- Since:
- 3.7
-
DBObjectCodec
public DBObjectCodec(CodecRegistry codecRegistry)
Construct an instance with the given codec registry.- Parameters:
codecRegistry
- the non-null codec registry
-
DBObjectCodec
public DBObjectCodec(CodecRegistry codecRegistry, BsonTypeClassMap bsonTypeClassMap)
Construct an instance.- Parameters:
codecRegistry
- the codec registrybsonTypeClassMap
- the non-null BsonTypeClassMap
-
DBObjectCodec
public DBObjectCodec(CodecRegistry codecRegistry, BsonTypeClassMap bsonTypeClassMap, com.mongodb.DBObjectFactory objectFactory)
Construct an instance.- Parameters:
codecRegistry
- the non-null codec registrybsonTypeClassMap
- the non-null BsonTypeClassMapobjectFactory
- the non-null object factory used to create empty DBObject instances when decoding
-
-
Method Detail
-
encode
public void encode(BsonWriter writer, DBObject document, EncoderContext encoderContext)
Description copied from interface:Encoder
Encode an instance of the type parameterT
into a BSON value.
-
decode
public DBObject decode(BsonReader reader, DecoderContext decoderContext)
Description copied from interface:Decoder
Decodes a BSON value from the given reader into an instance of the type parameterT
.
-
getEncoderClass
public Class<DBObject> 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 interfaceEncoder<DBObject>
- Returns:
- the Class instance that this encodes.
-
documentHasId
public boolean documentHasId(DBObject document)
Description copied from interface:CollectibleCodec
Returns true if the given document has an _id.- Specified by:
documentHasId
in interfaceCollectibleCodec<DBObject>
- Parameters:
document
- the document in which to look for an _id- Returns:
- true if the document has an _id
-
getDocumentId
public BsonValue getDocumentId(DBObject document)
Description copied from interface:CollectibleCodec
Gets the _id of the given document if it contains one, otherwise throwsIllegalArgumentException
. To avoid the latter case, calldocumentHasId
first to check.- Specified by:
getDocumentId
in interfaceCollectibleCodec<DBObject>
- Parameters:
document
- the document from which to get the _id- Returns:
- the _id of the document
-
generateIdIfAbsentFromDocument
public DBObject generateIdIfAbsentFromDocument(DBObject document)
Description copied from interface:CollectibleCodec
Generates a value for the _id field on the given document, if the document does not have one.- Specified by:
generateIdIfAbsentFromDocument
in interfaceCollectibleCodec<DBObject>
- Parameters:
document
- the document for which to generate a value for the _id.- Returns:
- the document with the _id
-
withUuidRepresentation
public Codec<DBObject> withUuidRepresentation(UuidRepresentation uuidRepresentation)
Description copied from interface:OverridableUuidRepresentationCodec
Implementations must return a new instance with theUuidRepresentation
overridden with the given value.- Specified by:
withUuidRepresentation
in interfaceOverridableUuidRepresentationCodec<DBObject>
- Parameters:
uuidRepresentation
- the UuidRepresentation- Returns:
- a new instance equivalent to this but with the given UuidRepresentation
-
-