public class org.hibernate.property.ChainedPropertyAccessor implements org.hibernate.property.PropertyAccessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.property.ChainedPropertyAccessor
super_class: java.lang.Object
{
final org.hibernate.property.PropertyAccessor[] chain;
descriptor: [Lorg/hibernate/property/PropertyAccessor;
flags: (0x0010) ACC_FINAL
public void <init>(org.hibernate.property.PropertyAccessor[]);
descriptor: ([Lorg/hibernate/property/PropertyAccessor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.hibernate.property.ChainedPropertyAccessor this
start local 1 // org.hibernate.property.PropertyAccessor[] chain
0: .line 35
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 36
aload 0 /* this */
aload 1 /* chain */
putfield org.hibernate.property.ChainedPropertyAccessor.chain:[Lorg/hibernate/property/PropertyAccessor;
2: .line 37
return
end local 1 // org.hibernate.property.PropertyAccessor[] chain
end local 0 // org.hibernate.property.ChainedPropertyAccessor this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/property/ChainedPropertyAccessor;
0 3 1 chain [Lorg/hibernate/property/PropertyAccessor;
MethodParameters:
Name Flags
chain
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=5, locals=6, args_size=3
start local 0 // org.hibernate.property.ChainedPropertyAccessor this
start local 1 // java.lang.Class theClass
start local 2 // java.lang.String propertyName
0: .line 41
aconst_null
astore 3 /* result */
start local 3 // org.hibernate.property.Getter result
1: .line 42
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 9
3: .line 43
StackMap locals: org.hibernate.property.Getter int
StackMap stack:
aload 0 /* this */
getfield org.hibernate.property.ChainedPropertyAccessor.chain:[Lorg/hibernate/property/PropertyAccessor;
iload 4 /* i */
aaload
astore 5 /* candidate */
start local 5 // org.hibernate.property.PropertyAccessor candidate
4: .line 45
aload 5 /* candidate */
aload 1 /* theClass */
aload 2 /* propertyName */
invokeinterface org.hibernate.property.PropertyAccessor.getGetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Getter;
astore 3 /* result */
5: .line 46
aload 3 /* result */
6: areturn
7: .line 47
StackMap locals: org.hibernate.property.ChainedPropertyAccessor java.lang.Class java.lang.String org.hibernate.property.Getter int org.hibernate.property.PropertyAccessor
StackMap stack: org.hibernate.PropertyNotFoundException
pop
end local 5 // org.hibernate.property.PropertyAccessor candidate
8: .line 42
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 4 /* i */
aload 0 /* this */
getfield org.hibernate.property.ChainedPropertyAccessor.chain:[Lorg/hibernate/property/PropertyAccessor;
arraylength
if_icmplt 3
end local 4 // int i
10: .line 51
new org.hibernate.PropertyNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "Could not find getter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* propertyName */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1 /* theClass */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.PropertyNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // org.hibernate.property.Getter result
end local 2 // java.lang.String propertyName
end local 1 // java.lang.Class theClass
end local 0 // org.hibernate.property.ChainedPropertyAccessor this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/property/ChainedPropertyAccessor;
0 11 1 theClass Ljava/lang/Class;
0 11 2 propertyName Ljava/lang/String;
1 11 3 result Lorg/hibernate/property/Getter;
2 10 4 i I
4 8 5 candidate Lorg/hibernate/property/PropertyAccessor;
Exception table:
from to target type
4 6 7 Class org.hibernate.PropertyNotFoundException
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
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=5, locals=6, args_size=3
start local 0 // org.hibernate.property.ChainedPropertyAccessor this
start local 1 // java.lang.Class theClass
start local 2 // java.lang.String propertyName
0: .line 56
aconst_null
astore 3 /* result */
start local 3 // org.hibernate.property.Setter result
1: .line 57
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 9
3: .line 58
StackMap locals: org.hibernate.property.Setter int
StackMap stack:
aload 0 /* this */
getfield org.hibernate.property.ChainedPropertyAccessor.chain:[Lorg/hibernate/property/PropertyAccessor;
iload 4 /* i */
aaload
astore 5 /* candidate */
start local 5 // org.hibernate.property.PropertyAccessor candidate
4: .line 60
aload 5 /* candidate */
aload 1 /* theClass */
aload 2 /* propertyName */
invokeinterface org.hibernate.property.PropertyAccessor.getSetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Setter;
astore 3 /* result */
5: .line 61
aload 3 /* result */
6: areturn
7: .line 62
StackMap locals: org.hibernate.property.ChainedPropertyAccessor java.lang.Class java.lang.String org.hibernate.property.Setter int org.hibernate.property.PropertyAccessor
StackMap stack: org.hibernate.PropertyNotFoundException
pop
end local 5 // org.hibernate.property.PropertyAccessor candidate
8: .line 57
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 4 /* i */
aload 0 /* this */
getfield org.hibernate.property.ChainedPropertyAccessor.chain:[Lorg/hibernate/property/PropertyAccessor;
arraylength
if_icmplt 3
end local 4 // int i
10: .line 66
new org.hibernate.PropertyNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "Could not find setter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* propertyName */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1 /* theClass */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.PropertyNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // org.hibernate.property.Setter result
end local 2 // java.lang.String propertyName
end local 1 // java.lang.Class theClass
end local 0 // org.hibernate.property.ChainedPropertyAccessor this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/property/ChainedPropertyAccessor;
0 11 1 theClass Ljava/lang/Class;
0 11 2 propertyName Ljava/lang/String;
1 11 3 result Lorg/hibernate/property/Setter;
2 10 4 i I
4 8 5 candidate Lorg/hibernate/property/PropertyAccessor;
Exception table:
from to target type
4 6 7 Class org.hibernate.PropertyNotFoundException
Exceptions:
throws org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
theClass
propertyName
}
SourceFile: "ChainedPropertyAccessor.java"