class org.bson.codecs.pojo.LazyPojoCodec<T> extends org.bson.codecs.pojo.PojoCodec<T>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bson.codecs.pojo.LazyPojoCodec
super_class: org.bson.codecs.pojo.PojoCodec
{
private final org.bson.codecs.pojo.ClassModel<T> classModel;
descriptor: Lorg/bson/codecs/pojo/ClassModel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/bson/codecs/pojo/ClassModel<TT;>;
private final org.bson.codecs.configuration.CodecRegistry registry;
descriptor: Lorg/bson/codecs/configuration/CodecRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.codecs.pojo.PropertyCodecRegistry propertyCodecRegistry;
descriptor: Lorg/bson/codecs/pojo/PropertyCodecRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bson.codecs.pojo.DiscriminatorLookup discriminatorLookup;
descriptor: Lorg/bson/codecs/pojo/DiscriminatorLookup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<org.bson.codecs.pojo.ClassModel<?>, org.bson.codecs.Codec<?>> codecCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/bson/codecs/pojo/ClassModel<*>;Lorg/bson/codecs/Codec<*>;>;
private volatile org.bson.codecs.pojo.PojoCodecImpl<T> pojoCodec;
descriptor: Lorg/bson/codecs/pojo/PojoCodecImpl;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/bson/codecs/pojo/PojoCodecImpl<TT;>;
void <init>(org.bson.codecs.pojo.ClassModel<T>, org.bson.codecs.configuration.CodecRegistry, org.bson.codecs.pojo.PropertyCodecRegistry, org.bson.codecs.pojo.DiscriminatorLookup, java.util.concurrent.ConcurrentMap<org.bson.codecs.pojo.ClassModel<?>, org.bson.codecs.Codec<?>>);
descriptor: (Lorg/bson/codecs/pojo/ClassModel;Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/pojo/PropertyCodecRegistry;Lorg/bson/codecs/pojo/DiscriminatorLookup;Ljava/util/concurrent/ConcurrentMap;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial org.bson.codecs.pojo.PojoCodec.<init>:()V
1: aload 0
aload 1
putfield org.bson.codecs.pojo.LazyPojoCodec.classModel:Lorg/bson/codecs/pojo/ClassModel;
2: aload 0
aload 2
putfield org.bson.codecs.pojo.LazyPojoCodec.registry:Lorg/bson/codecs/configuration/CodecRegistry;
3: aload 0
aload 3
putfield org.bson.codecs.pojo.LazyPojoCodec.propertyCodecRegistry:Lorg/bson/codecs/pojo/PropertyCodecRegistry;
4: aload 0
aload 4
putfield org.bson.codecs.pojo.LazyPojoCodec.discriminatorLookup:Lorg/bson/codecs/pojo/DiscriminatorLookup;
5: aload 0
aload 5
putfield org.bson.codecs.pojo.LazyPojoCodec.codecCache:Ljava/util/concurrent/ConcurrentMap;
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
0 7 1 classModel Lorg/bson/codecs/pojo/ClassModel<TT;>;
0 7 2 registry Lorg/bson/codecs/configuration/CodecRegistry;
0 7 3 propertyCodecRegistry Lorg/bson/codecs/pojo/PropertyCodecRegistry;
0 7 4 discriminatorLookup Lorg/bson/codecs/pojo/DiscriminatorLookup;
0 7 5 codecCache Ljava/util/concurrent/ConcurrentMap<Lorg/bson/codecs/pojo/ClassModel<*>;Lorg/bson/codecs/Codec<*>;>;
Signature: (Lorg/bson/codecs/pojo/ClassModel<TT;>;Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/pojo/PropertyCodecRegistry;Lorg/bson/codecs/pojo/DiscriminatorLookup;Ljava/util/concurrent/ConcurrentMap<Lorg/bson/codecs/pojo/ClassModel<*>;Lorg/bson/codecs/Codec<*>;>;)V
MethodParameters:
Name Flags
classModel final
registry final
propertyCodecRegistry final
discriminatorLookup final
codecCache final
public void encode(org.bson.BsonWriter, T, org.bson.codecs.EncoderContext);
descriptor: (Lorg/bson/BsonWriter;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.bson.codecs.pojo.LazyPojoCodec.getPojoCodec:()Lorg/bson/codecs/Codec;
aload 1
aload 2
aload 3
invokeinterface org.bson.codecs.Codec.encode:(Lorg/bson/BsonWriter;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
0 2 1 writer Lorg/bson/BsonWriter;
0 2 2 value TT;
0 2 3 encoderContext Lorg/bson/codecs/EncoderContext;
Signature: (Lorg/bson/BsonWriter;TT;Lorg/bson/codecs/EncoderContext;)V
MethodParameters:
Name Flags
writer final
value final
encoderContext final
public java.lang.Class<T> getEncoderClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.classModel:Lorg/bson/codecs/pojo/ClassModel;
invokevirtual org.bson.codecs.pojo.ClassModel.getType:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
Signature: ()Ljava/lang/Class<TT;>;
public T decode(org.bson.BsonReader, org.bson.codecs.DecoderContext);
descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bson.codecs.pojo.LazyPojoCodec.getPojoCodec:()Lorg/bson/codecs/Codec;
aload 1
aload 2
invokeinterface org.bson.codecs.Codec.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
0 1 1 reader Lorg/bson/BsonReader;
0 1 2 decoderContext Lorg/bson/codecs/DecoderContext;
Signature: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)TT;
MethodParameters:
Name Flags
reader final
decoderContext final
private org.bson.codecs.Codec<T> getPojoCodec();
descriptor: ()Lorg/bson/codecs/Codec;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.pojoCodec:Lorg/bson/codecs/pojo/PojoCodecImpl;
ifnonnull 2
1: aload 0
new org.bson.codecs.pojo.PojoCodecImpl
dup
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.classModel:Lorg/bson/codecs/pojo/ClassModel;
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.registry:Lorg/bson/codecs/configuration/CodecRegistry;
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.propertyCodecRegistry:Lorg/bson/codecs/pojo/PropertyCodecRegistry;
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.discriminatorLookup:Lorg/bson/codecs/pojo/DiscriminatorLookup;
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.codecCache:Ljava/util/concurrent/ConcurrentMap;
iconst_1
invokespecial org.bson.codecs.pojo.PojoCodecImpl.<init>:(Lorg/bson/codecs/pojo/ClassModel;Lorg/bson/codecs/configuration/CodecRegistry;Lorg/bson/codecs/pojo/PropertyCodecRegistry;Lorg/bson/codecs/pojo/DiscriminatorLookup;Ljava/util/concurrent/ConcurrentMap;Z)V
putfield org.bson.codecs.pojo.LazyPojoCodec.pojoCodec:Lorg/bson/codecs/pojo/PojoCodecImpl;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.pojoCodec:Lorg/bson/codecs/pojo/PojoCodecImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
Signature: ()Lorg/bson/codecs/Codec<TT;>;
org.bson.codecs.pojo.ClassModel<T> getClassModel();
descriptor: ()Lorg/bson/codecs/pojo/ClassModel;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.codecs.pojo.LazyPojoCodec.classModel:Lorg/bson/codecs/pojo/ClassModel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/pojo/LazyPojoCodec<TT;>;
Signature: ()Lorg/bson/codecs/pojo/ClassModel<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/bson/codecs/pojo/PojoCodec<TT;>;
SourceFile: "LazyPojoCodec.java"