public class org.hibernate.property.BasicPropertyAccessor implements org.hibernate.property.PropertyAccessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.property.BasicPropertyAccessor
super_class: java.lang.Object
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hibernate/property/BasicPropertyAccessor;
invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
putstatic org.hibernate.property.BasicPropertyAccessor.LOG:Lorg/hibernate/internal/CoreMessageLogger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/BasicPropertyAccessor;
public org.hibernate.property.Setter getSetter(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.hibernate.property.BasicPropertyAccessor.createSetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Setter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/BasicPropertyAccessor;
0 1 1 theClass Ljava/lang/Class;
0 1 2 propertyName Ljava/lang/String;
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
private static org.hibernate.property.Setter createSetter(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Setter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getSetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
astore 2
start local 2 1: aload 2
ifnonnull 9
2: new org.hibernate.PropertyNotFoundException
dup
3: new java.lang.StringBuilder
dup
ldc "Could not find a setter for property "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " in class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.hibernate.PropertyNotFoundException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.hibernate.property.BasicPropertyAccessor$BasicSetter
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 theClass Ljava/lang/Class;
0 10 1 propertyName Ljava/lang/String;
1 10 2 result Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
private static org.hibernate.property.BasicPropertyAccessor$BasicSetter getSetterOrNull(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljava/lang/Object;
if_acmpeq 1
aload 0
ifnonnull 2
StackMap locals:
StackMap stack:
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.setterMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 2
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
5: new org.hibernate.property.BasicPropertyAccessor$BasicSetter
dup
aload 0
aload 2
aload 1
invokespecial org.hibernate.property.BasicPropertyAccessor$BasicSetter.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
areturn
6: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getSetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
astore 3
start local 3 7: aload 3
ifnonnull 14
8: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 9: iconst_0
istore 5
start local 5 10: goto 13
11: StackMap locals: org.hibernate.property.BasicPropertyAccessor$BasicSetter java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aaload
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getSetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
astore 3
12: iinc 5 1
StackMap locals:
StackMap stack:
13: aload 3
ifnonnull 14
iload 5
aload 4
arraylength
if_icmplt 11
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 theClass Ljava/lang/Class;
0 15 1 propertyName Ljava/lang/String;
3 15 2 method Ljava/lang/reflect/Method;
7 15 3 setter Lorg/hibernate/property/BasicPropertyAccessor$BasicSetter;
9 14 4 interfaces [Ljava/lang/Class;
10 14 5 i I
MethodParameters:
Name Flags
theClass
propertyName
private static java.lang.reflect.Method setterMethod(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=13, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getGetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.hibernate.property.BasicPropertyAccessor$BasicGetter
StackMap stack:
2: aload 2
invokevirtual org.hibernate.property.BasicPropertyAccessor$BasicGetter.getReturnType:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
3: astore 3
start local 3 4: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 17
StackMap locals: java.lang.Class java.lang.String org.hibernate.property.BasicPropertyAccessor$BasicGetter java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method top int int java.lang.reflect.Method[]
StackMap stack:
7: aload 9
iload 7
aaload
astore 6
start local 6 8: aload 6
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 10
start local 10 9: aload 6
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
iconst_1
if_icmpne 16
aload 10
ldc "set"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 16
10: aload 10
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 11: aload 10
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 12
start local 12 12: aload 11
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
aload 12
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
13: StackMap locals: java.lang.Class java.lang.String org.hibernate.property.BasicPropertyAccessor$BasicGetter java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 6
astore 5
14: aload 3
ifnull 15
aload 6
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
iconst_0
aaload
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
15: StackMap locals:
StackMap stack:
aload 5
areturn
end local 12 end local 11 end local 10 end local 6 16: StackMap locals: java.lang.Class java.lang.String org.hibernate.property.BasicPropertyAccessor$BasicGetter java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method top int int java.lang.reflect.Method[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 8
if_icmplt 7
18: aload 5
areturn
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 19 0 theClass Ljava/lang/Class;
0 19 1 propertyName Ljava/lang/String;
1 19 2 getter Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
4 19 3 returnType Ljava/lang/Class;
5 19 4 methods [Ljava/lang/reflect/Method;
6 19 5 potentialSetter Ljava/lang/reflect/Method;
8 16 6 method Ljava/lang/reflect/Method;
9 16 10 methodName Ljava/lang/String;
11 16 11 testStdMethod Ljava/lang/String;
12 16 12 testOldMethod Ljava/lang/String;
MethodParameters:
Name Flags
theClass
propertyName
public org.hibernate.property.Getter getGetter(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Getter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.hibernate.property.BasicPropertyAccessor.createGetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Getter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/BasicPropertyAccessor;
0 1 1 theClass Ljava/lang/Class;
0 1 2 propertyName Ljava/lang/String;
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
public static org.hibernate.property.Getter createGetter(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Getter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getGetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
astore 2
start local 2 1: aload 2
ifnonnull 9
2: new org.hibernate.PropertyNotFoundException
dup
3: new java.lang.StringBuilder
dup
ldc "Could not find a getter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " in class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.hibernate.PropertyNotFoundException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.hibernate.property.BasicPropertyAccessor$BasicGetter
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 theClass Ljava/lang/Class;
0 10 1 propertyName Ljava/lang/String;
1 10 2 result Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
private static org.hibernate.property.BasicPropertyAccessor$BasicGetter getGetterOrNull(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljava/lang/Object;
if_acmpeq 1
aload 0
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getterMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 2
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
5: new org.hibernate.property.BasicPropertyAccessor$BasicGetter
dup
aload 0
aload 2
aload 1
invokespecial org.hibernate.property.BasicPropertyAccessor$BasicGetter.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/String;)V
areturn
6: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getGetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
astore 3
start local 3 7: aload 3
ifnonnull 14
8: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 9: iconst_0
istore 5
start local 5 10: goto 13
11: StackMap locals: org.hibernate.property.BasicPropertyAccessor$BasicGetter java.lang.Class[] int
StackMap stack:
aload 4
iload 5
aaload
aload 1
invokestatic org.hibernate.property.BasicPropertyAccessor.getGetterOrNull:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
astore 3
12: iinc 5 1
StackMap locals:
StackMap stack:
13: aload 3
ifnonnull 14
iload 5
aload 4
arraylength
if_icmplt 11
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 theClass Ljava/lang/Class;
0 15 1 propertyName Ljava/lang/String;
3 15 2 method Ljava/lang/reflect/Method;
7 15 3 getter Lorg/hibernate/property/BasicPropertyAccessor$BasicGetter;
9 14 4 interfaces [Ljava/lang/Class;
10 14 5 i I
MethodParameters:
Name Flags
theClass
propertyName
private static java.lang.reflect.Method getterMethod(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
astore 2
start local 2 1: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 19
StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
arraylength
ifeq 5
4: goto 18
5: StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.isBridge:()Z
ifeq 7
6: goto 18
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 7
start local 7 8: aload 7
ldc "get"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
9: aload 7
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 10: aload 7
iconst_3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 11: aload 8
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 9
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 3
areturn
end local 9 end local 8 13: StackMap locals:
StackMap stack:
aload 7
ldc "is"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
14: aload 7
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 15: aload 7
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 16: aload 8
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
aload 9
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
areturn
end local 9 end local 8 end local 7 end local 3 18: StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 5
if_icmplt 2
20: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 theClass Ljava/lang/Class;
0 21 1 propertyName Ljava/lang/String;
1 21 2 methods [Ljava/lang/reflect/Method;
3 18 3 method Ljava/lang/reflect/Method;
8 18 7 methodName Ljava/lang/String;
10 13 8 testStdMethod Ljava/lang/String;
11 13 9 testOldMethod Ljava/lang/String;
15 18 8 testStdMethod Ljava/lang/String;
16 18 9 testOldMethod Ljava/lang/String;
MethodParameters:
Name Flags
theClass
propertyName
}
SourceFile: "BasicPropertyAccessor.java"
NestMembers:
org.hibernate.property.BasicPropertyAccessor$BasicGetter org.hibernate.property.BasicPropertyAccessor$BasicSetter
InnerClasses:
public final BasicGetter = org.hibernate.property.BasicPropertyAccessor$BasicGetter of org.hibernate.property.BasicPropertyAccessor
public final BasicSetter = org.hibernate.property.BasicPropertyAccessor$BasicSetter of org.hibernate.property.BasicPropertyAccessor