Package dev.morphia.mapping.codec
Class BaseMorphiaCodec<T>
- java.lang.Object
-
- org.bson.codecs.pojo.PojoCodec<T>
-
- org.bson.codecs.pojo.PojoCodecImpl<T>
-
- dev.morphia.mapping.codec.BaseMorphiaCodec<T>
-
- Type Parameters:
T
- the entity type
- All Implemented Interfaces:
org.bson.codecs.Codec<T>
,org.bson.codecs.Decoder<T>
,org.bson.codecs.Encoder<T>
- Direct Known Subclasses:
MorphiaCodec
public class BaseMorphiaCodec<T> extends org.bson.codecs.pojo.PojoCodecImpl<T>
the base of the codec used by Morphia
-
-
Constructor Summary
Constructors Constructor Description BaseMorphiaCodec(Datastore datastore, List<org.bson.codecs.pojo.PropertyCodecProvider> propertyCodecProviders, org.bson.codecs.pojo.DiscriminatorLookup discriminatorLookup, org.bson.codecs.pojo.ClassModel<T> classModel, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codecBaseMorphiaCodec(Datastore datastore, org.bson.codecs.pojo.PropertyCodecRegistry propertyCodecRegistry, org.bson.codecs.pojo.DiscriminatorLookup discriminatorLookup, ConcurrentMap<org.bson.codecs.pojo.ClassModel<?>,org.bson.codecs.Codec<?>> codecCache, boolean specialized, org.bson.codecs.pojo.ClassModel<T> classModel, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codec
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <S> void
decodePropertyModel(org.bson.BsonReader reader, org.bson.codecs.DecoderContext decoderContext, org.bson.codecs.pojo.InstanceCreator<T> instanceCreator, String name, org.bson.codecs.pojo.PropertyModel<S> propertyModel)
void
encode(org.bson.BsonWriter writer, T value, org.bson.codecs.EncoderContext encoderContext)
Encode an instance of the type parameterT
into a BSON value.Mapper
getMapper()
protected <S> org.bson.codecs.pojo.PojoCodec<S>
getSpecializedCodec(org.bson.codecs.pojo.ClassModel<S> specialized, Datastore datastore)
protected <T1> boolean
shouldSpecialize(org.bson.codecs.pojo.ClassModel<T1> classModel)
protected void
specialize()
-
-
-
Constructor Detail
-
BaseMorphiaCodec
public BaseMorphiaCodec(Datastore datastore, List<org.bson.codecs.pojo.PropertyCodecProvider> propertyCodecProviders, org.bson.codecs.pojo.DiscriminatorLookup discriminatorLookup, org.bson.codecs.pojo.ClassModel<T> classModel, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codec- Parameters:
datastore
- the datastorepropertyCodecProviders
- the codec provider for propertiesdiscriminatorLookup
- the discriminator lookupclassModel
- the model of the entityregistry
- the codec registry for lookups
-
BaseMorphiaCodec
public BaseMorphiaCodec(Datastore datastore, org.bson.codecs.pojo.PropertyCodecRegistry propertyCodecRegistry, org.bson.codecs.pojo.DiscriminatorLookup discriminatorLookup, ConcurrentMap<org.bson.codecs.pojo.ClassModel<?>,org.bson.codecs.Codec<?>> codecCache, boolean specialized, org.bson.codecs.pojo.ClassModel<T> classModel, org.bson.codecs.configuration.CodecRegistry registry)
Creates a new codec- Parameters:
datastore
- the datastorepropertyCodecRegistry
- the codec registry for propertiesdiscriminatorLookup
- the discriminator lookupcodecCache
- the cache of codecsspecialized
- has this codec been specialized for a particular instance/fieldclassModel
- the model of the entityregistry
- the codec registry for lookups
-
-
Method Detail
-
getMapper
public Mapper getMapper()
- Returns:
- the mapper being used
-
specialize
protected void specialize()
- Overrides:
specialize
in classorg.bson.codecs.pojo.PojoCodecImpl<T>
-
encode
public void encode(org.bson.BsonWriter writer, T value, org.bson.codecs.EncoderContext encoderContext)
Description copied from interface:org.bson.codecs.Encoder
Encode an instance of the type parameterT
into a BSON value.
-
getSpecializedCodec
protected <S> org.bson.codecs.pojo.PojoCodec<S> getSpecializedCodec(org.bson.codecs.pojo.ClassModel<S> specialized, Datastore datastore)
-
decodePropertyModel
protected <S> void decodePropertyModel(org.bson.BsonReader reader, org.bson.codecs.DecoderContext decoderContext, org.bson.codecs.pojo.InstanceCreator<T> instanceCreator, String name, org.bson.codecs.pojo.PropertyModel<S> propertyModel)
- Overrides:
decodePropertyModel
in classorg.bson.codecs.pojo.PojoCodecImpl<T>
-
shouldSpecialize
protected <T1> boolean shouldSpecialize(org.bson.codecs.pojo.ClassModel<T1> classModel)
- Overrides:
shouldSpecialize
in classorg.bson.codecs.pojo.PojoCodecImpl<T>
-
-