Package dev.morphia.mapping.codec.pojo
Class MorphiaCodec<T>
- java.lang.Object
-
- dev.morphia.mapping.codec.pojo.MorphiaCodec<T>
-
- Type Parameters:
T
- the entity type
- All Implemented Interfaces:
org.bson.codecs.Codec<T>
,org.bson.codecs.CollectibleCodec<T>
,org.bson.codecs.Decoder<T>
,org.bson.codecs.Encoder<T>
public class MorphiaCodec<T> extends Object implements org.bson.codecs.CollectibleCodec<T>
the codec used by Morphia- Since:
- 2.0
Developer note.This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
-
-
Constructor Summary
Constructors Constructor Description MorphiaCodec(Datastore datastore, EntityModel model, List<org.bson.codecs.pojo.PropertyCodecProvider> propertyCodecProviders, DiscriminatorLookup discriminatorLookup, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codec
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
decode(org.bson.BsonReader reader, org.bson.codecs.DecoderContext decoderContext)
boolean
documentHasId(Object entity)
void
encode(org.bson.BsonWriter writer, T value, org.bson.codecs.EncoderContext encoderContext)
Object
generateIdIfAbsentFromDocument(Object entity)
Datastore
getDatastore()
protected EntityDecoder<T>
getDecoder()
DiscriminatorLookup
getDiscriminatorLookup()
org.bson.BsonValue
getDocumentId(Object document)
EntityEncoder<T>
getEncoder()
Class<T>
getEncoderClass()
EntityModel
getEntityModel()
Mapper
getMapper()
org.bson.codecs.configuration.CodecRegistry
getRegistry()
void
setDecoder(EntityDecoder<T> decoder)
Sets the decoderMorphiaCodec<T>
setEncoder(EntityEncoder<T> encoder)
Sets the encoder
-
-
-
Constructor Detail
-
MorphiaCodec
public MorphiaCodec(Datastore datastore, EntityModel model, List<org.bson.codecs.pojo.PropertyCodecProvider> propertyCodecProviders, DiscriminatorLookup discriminatorLookup, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codec- Parameters:
datastore
- the Datastore to usemodel
- the model backing this codecpropertyCodecProviders
- the codec provider for propertiesdiscriminatorLookup
- the discriminator to type lookupregistry
- the codec registry for lookups
-
-
Method Detail
-
decode
public T decode(org.bson.BsonReader reader, org.bson.codecs.DecoderContext decoderContext)
- Specified by:
decode
in interfaceorg.bson.codecs.Decoder<T>
-
encode
public void encode(org.bson.BsonWriter writer, T value, org.bson.codecs.EncoderContext encoderContext)
- Specified by:
encode
in interfaceorg.bson.codecs.Encoder<T>
-
getEncoderClass
public Class<T> getEncoderClass()
- Specified by:
getEncoderClass
in interfaceorg.bson.codecs.Encoder<T>
-
generateIdIfAbsentFromDocument
public Object generateIdIfAbsentFromDocument(Object entity)
- Specified by:
generateIdIfAbsentFromDocument
in interfaceorg.bson.codecs.CollectibleCodec<T>
-
documentHasId
public boolean documentHasId(Object entity)
- Specified by:
documentHasId
in interfaceorg.bson.codecs.CollectibleCodec<T>
-
getDocumentId
public org.bson.BsonValue getDocumentId(Object document)
- Specified by:
getDocumentId
in interfaceorg.bson.codecs.CollectibleCodec<T>
-
getDatastore
public Datastore getDatastore()
- Returns:
- the datastore
- Since:
- 2.3
-
getDiscriminatorLookup
public DiscriminatorLookup getDiscriminatorLookup()
-
getEncoder
public EntityEncoder<T> getEncoder()
- Returns:
- the encoder
- Since:
- 2.3
-
setEncoder
public MorphiaCodec<T> setEncoder(EntityEncoder<T> encoder)
Sets the encoder- Parameters:
encoder
- the encoder- Returns:
- this
-
getEntityModel
public EntityModel getEntityModel()
- Returns:
- the entity model backing this codec
-
getMapper
public Mapper getMapper()
- Returns:
- the mapper being used
-
getRegistry
public org.bson.codecs.configuration.CodecRegistry getRegistry()
-
getDecoder
protected EntityDecoder<T> getDecoder()
- Returns:
- the decoder
-
setDecoder
public void setDecoder(EntityDecoder<T> decoder)
Sets the decoder- Parameters:
decoder
- the decoder
-
-