final class org.bson.codecs.pojo.PropertyAccessorImpl<T> implements org.bson.codecs.pojo.PropertyAccessor<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.bson.codecs.pojo.PropertyAccessorImpl
super_class: java.lang.Object
{
private final org.bson.codecs.pojo.PropertyMetadata<T> propertyMetadata;
descriptor: Lorg/bson/codecs/pojo/PropertyMetadata;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/bson/codecs/pojo/PropertyMetadata<TT;>;
void <init>(org.bson.codecs.pojo.PropertyMetadata<T>);
descriptor: (Lorg/bson/codecs/pojo/PropertyMetadata;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
0 3 1 propertyMetadata Lorg/bson/codecs/pojo/PropertyMetadata<TT;>;
Signature: (Lorg/bson/codecs/pojo/PropertyMetadata<TT;>;)V
MethodParameters:
Name Flags
propertyMetadata final
public <S> T get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.isSerializable:()Z
ifeq 6
1: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getGetter:()Ljava/lang/reflect/Method;
ifnull 4
2: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getGetter:()Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getField:()Ljava/lang/reflect/Field;
aload 1
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual org.bson.codecs.pojo.PropertyAccessorImpl.getError:(Ljava/lang/Exception;)Lorg/bson/codecs/configuration/CodecConfigurationException;
athrow
7: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 8: aload 0
aload 2
invokevirtual org.bson.codecs.pojo.PropertyAccessorImpl.getError:(Ljava/lang/Exception;)Lorg/bson/codecs/configuration/CodecConfigurationException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
0 9 1 instance TS;
8 9 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 7 Class java.lang.Exception
4 5 7 Class java.lang.Exception
6 7 7 Class java.lang.Exception
Signature: <S:Ljava/lang/Object;>(TS;)TT;
MethodParameters:
Name Flags
instance final
public <S> void set(S, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.isDeserializable:()Z
ifeq 8
1: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getSetter:()Ljava/lang/reflect/Method;
ifnull 4
2: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getSetter:()Ljava/lang/reflect/Method;
aload 1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getField:()Ljava/lang/reflect/Field;
aload 1
aload 2
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
5: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 3
start local 3 7: aload 0
aload 3
invokevirtual org.bson.codecs.pojo.PropertyAccessorImpl.setError:(Ljava/lang/Exception;)Lorg/bson/codecs/configuration/CodecConfigurationException;
athrow
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
0 9 1 instance TS;
0 9 2 value TT;
7 8 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.Exception
Signature: <S:Ljava/lang/Object;>(TS;TT;)V
MethodParameters:
Name Flags
instance final
value final
org.bson.codecs.pojo.PropertyMetadata<T> getPropertyMetadata();
descriptor: ()Lorg/bson/codecs/pojo/PropertyMetadata;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
Signature: ()Lorg/bson/codecs/pojo/PropertyMetadata<TT;>;
private org.bson.codecs.configuration.CodecConfigurationException getError(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Lorg/bson/codecs/configuration/CodecConfigurationException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new org.bson.codecs.configuration.CodecConfigurationException
dup
ldc "Unable to get value for property '%s' in %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getName:()Ljava/lang/String;
aastore
dup
iconst_1
1: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getDeclaringClassName:()Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
3: aload 1
4: invokespecial org.bson.codecs.configuration.CodecConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
0 5 1 cause Ljava/lang/Exception;
MethodParameters:
Name Flags
cause final
private org.bson.codecs.configuration.CodecConfigurationException setError(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Lorg/bson/codecs/configuration/CodecConfigurationException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new org.bson.codecs.configuration.CodecConfigurationException
dup
ldc "Unable to set value for property '%s' in %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getName:()Ljava/lang/String;
aastore
dup
iconst_1
1: aload 0
getfield org.bson.codecs.pojo.PropertyAccessorImpl.propertyMetadata:Lorg/bson/codecs/pojo/PropertyMetadata;
invokevirtual org.bson.codecs.pojo.PropertyMetadata.getDeclaringClassName:()Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
3: aload 1
4: invokespecial org.bson.codecs.configuration.CodecConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/codecs/pojo/PropertyAccessorImpl<TT;>;
0 5 1 cause Ljava/lang/Exception;
MethodParameters:
Name Flags
cause final
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/bson/codecs/pojo/PropertyAccessor<TT;>;
SourceFile: "PropertyAccessorImpl.java"