Modifier and Type | Field and Description |
---|---|
private ClassModel<T> |
classModel |
private java.util.concurrent.ConcurrentMap<ClassModel<?>,Codec<?>> |
codecCache |
private DiscriminatorLookup |
discriminatorLookup |
private PojoCodecImpl<T> |
pojoCodec |
private CodecRegistry |
registry |
Constructor and Description |
---|
LazyPojoCodec(ClassModel<T> classModel,
CodecRegistry registry,
DiscriminatorLookup discriminatorLookup,
java.util.concurrent.ConcurrentMap<ClassModel<?>,Codec<?>> codecCache) |
Modifier and Type | Method and Description |
---|---|
T |
decode(BsonReader reader,
DecoderContext decoderContext)
Decodes a BSON value from the given reader into an instance of the type parameter
T . |
void |
encode(BsonWriter writer,
T value,
EncoderContext encoderContext)
Encode an instance of the type parameter
T into a BSON value. |
(package private) ClassModel<T> |
getClassModel() |
java.lang.Class<T> |
getEncoderClass()
Returns the Class instance that this encodes.
|
private Codec<T> |
getPojoCodec() |
private final ClassModel<T> classModel
private final CodecRegistry registry
private final DiscriminatorLookup discriminatorLookup
private final java.util.concurrent.ConcurrentMap<ClassModel<?>,Codec<?>> codecCache
private volatile PojoCodecImpl<T> pojoCodec
LazyPojoCodec(ClassModel<T> classModel, CodecRegistry registry, DiscriminatorLookup discriminatorLookup, java.util.concurrent.ConcurrentMap<ClassModel<?>,Codec<?>> codecCache)
public void encode(BsonWriter writer, T value, EncoderContext encoderContext)
Encoder
T
into a BSON value.writer
- the BSON writer to encode intovalue
- the value to encodeencoderContext
- the encoder contextpublic java.lang.Class<T> getEncoderClass()
Encoder
public T decode(BsonReader reader, DecoderContext decoderContext)
Decoder
T
.reader
- the BSON readerdecoderContext
- the decoder contextT
.ClassModel<T> getClassModel()
getClassModel
in class PojoCodec<T>