public class org.hibernate.property.access.internal.PropertyAccessMixedImpl implements org.hibernate.property.access.spi.PropertyAccess
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.property.access.internal.PropertyAccessMixedImpl
super_class: java.lang.Object
{
private final org.hibernate.property.access.spi.PropertyAccessStrategy strategy;
descriptor: Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.property.access.spi.Getter getter;
descriptor: Lorg/hibernate/property/access/spi/Getter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.property.access.spi.Setter setter;
descriptor: Lorg/hibernate/property/access/spi/Setter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$javax$persistence$AccessType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(org.hibernate.property.access.spi.PropertyAccessStrategy, java.lang.Class, java.lang.String);
descriptor: (Lorg/hibernate/property/access/spi/PropertyAccessStrategy;Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.strategy:Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
2: aload 2
aload 3
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.getAccessType:(Ljava/lang/Class;Ljava/lang/String;)Ljavax/persistence/AccessType;
astore 4
start local 4 3: invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.$SWITCH_TABLE$javax$persistence$AccessType:()[I
aload 4
invokevirtual javax.persistence.AccessType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 4
2: 12
default: 21
}
4: StackMap locals: org.hibernate.property.access.internal.PropertyAccessMixedImpl org.hibernate.property.access.spi.PropertyAccessStrategy java.lang.Class java.lang.String javax.persistence.AccessType
StackMap stack:
aload 2
aload 3
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.fieldOrNull:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 5
start local 5 5: aload 5
ifnonnull 9
6: new org.hibernate.property.access.spi.PropertyAccessBuildingException
dup
7: new java.lang.StringBuilder
dup
ldc "Could not locate field for property named ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.hibernate.property.access.spi.PropertyAccessBuildingException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 0
aload 0
aload 2
aload 3
aload 5
invokevirtual org.hibernate.property.access.internal.PropertyAccessMixedImpl.fieldGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Getter;
putfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.getter:Lorg/hibernate/property/access/spi/Getter;
10: aload 0
aload 0
aload 2
aload 3
aload 5
invokevirtual org.hibernate.property.access.internal.PropertyAccessMixedImpl.fieldSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Setter;
putfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.setter:Lorg/hibernate/property/access/spi/Setter;
11: goto 24
end local 5 12: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic org.hibernate.internal.util.ReflectHelper.getterMethodOrNull:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 5
start local 5 13: aload 5
ifnonnull 17
14: new org.hibernate.property.access.spi.PropertyAccessBuildingException
dup
15: new java.lang.StringBuilder
dup
ldc "Could not locate getter for property named ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial org.hibernate.property.access.spi.PropertyAccessBuildingException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 2
aload 3
aload 5
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokestatic org.hibernate.internal.util.ReflectHelper.setterMethodOrNull:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 6
start local 6 18: aload 0
aload 0
aload 2
aload 3
aload 5
invokevirtual org.hibernate.property.access.internal.PropertyAccessMixedImpl.propertyGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Getter;
putfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.getter:Lorg/hibernate/property/access/spi/Getter;
19: aload 0
aload 0
aload 2
aload 3
aload 6
invokevirtual org.hibernate.property.access.internal.PropertyAccessMixedImpl.propertySetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Setter;
putfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.setter:Lorg/hibernate/property/access/spi/Setter;
20: goto 24
end local 6 end local 5 21: StackMap locals:
StackMap stack:
new org.hibernate.property.access.spi.PropertyAccessBuildingException
dup
22: new java.lang.StringBuilder
dup
ldc "Invalid access type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for property named ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "#"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial org.hibernate.property.access.spi.PropertyAccessBuildingException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
0 25 1 strategy Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
0 25 2 containerJavaType Ljava/lang/Class;
0 25 3 propertyName Ljava/lang/String;
3 25 4 propertyAccessType Ljavax/persistence/AccessType;
5 12 5 field Ljava/lang/reflect/Field;
13 21 5 getterMethod Ljava/lang/reflect/Method;
18 21 6 setterMethod Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
strategy
containerJavaType
propertyName
protected static java.lang.reflect.Field fieldOrNull(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.hibernate.internal.util.ReflectHelper.findField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
1: areturn
2: StackMap locals:
StackMap stack: org.hibernate.PropertyNotFoundException
pop
3: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 containerJavaType Ljava/lang/Class;
0 4 1 propertyName Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class org.hibernate.PropertyNotFoundException
MethodParameters:
Name Flags
containerJavaType
propertyName
protected static javax.persistence.AccessType getAccessType(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljavax/persistence/AccessType;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.fieldOrNull:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 1: aload 2
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.getAccessTypeOrNull:(Ljava/lang/reflect/AnnotatedElement;)Ljavax/persistence/AccessType;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: java.lang.reflect.Field javax.persistence.AccessType
StackMap stack:
aload 0
aload 1
invokestatic org.hibernate.internal.util.ReflectHelper.getterMethodOrNull:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.getAccessTypeOrNull:(Ljava/lang/reflect/AnnotatedElement;)Ljavax/persistence/AccessType;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 4
areturn
7: StackMap locals: javax.persistence.AccessType
StackMap stack:
aload 0
invokestatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.getAccessTypeOrNull:(Ljava/lang/reflect/AnnotatedElement;)Ljavax/persistence/AccessType;
astore 5
start local 5 8: aload 5
ifnull 10
9: aload 5
areturn
10: StackMap locals: javax.persistence.AccessType
StackMap stack:
aload 2
ifnull 11
getstatic javax.persistence.AccessType.FIELD:Ljavax/persistence/AccessType;
goto 12
StackMap locals:
StackMap stack:
11: getstatic javax.persistence.AccessType.PROPERTY:Ljavax/persistence/AccessType;
StackMap locals:
StackMap stack: javax.persistence.AccessType
12: 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 13 0 containerJavaType Ljava/lang/Class<*>;
0 13 1 propertyName Ljava/lang/String;
1 13 2 field Ljava/lang/reflect/Field;
2 13 3 fieldAccessType Ljavax/persistence/AccessType;
5 13 4 methodAccessType Ljavax/persistence/AccessType;
8 13 5 classAccessType Ljavax/persistence/AccessType;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljavax/persistence/AccessType;
MethodParameters:
Name Flags
containerJavaType
propertyName
private static javax.persistence.AccessType getAccessTypeOrNull(java.lang.reflect.AnnotatedElement);
descriptor: (Ljava/lang/reflect/AnnotatedElement;)Ljavax/persistence/AccessType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc Ljavax/persistence/Access;
invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.persistence.Access
astore 1
start local 1 3: aload 1
ifnonnull 4
aconst_null
goto 5
StackMap locals: javax.persistence.Access
StackMap stack:
4: aload 1
invokeinterface javax.persistence.Access.value:()Ljavax/persistence/AccessType;
StackMap locals:
StackMap stack: javax.persistence.AccessType
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 element Ljava/lang/reflect/AnnotatedElement;
3 6 1 elementAccess Ljavax/persistence/Access;
MethodParameters:
Name Flags
element
protected org.hibernate.property.access.spi.Getter fieldGetter(java.lang.Class<?>, java.lang.String, java.lang.reflect.Field);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Getter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.hibernate.property.access.spi.GetterFieldImpl
dup
aload 1
aload 2
aload 3
invokespecial org.hibernate.property.access.spi.GetterFieldImpl.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
0 1 1 containerJavaType Ljava/lang/Class<*>;
0 1 2 propertyName Ljava/lang/String;
0 1 3 field Ljava/lang/reflect/Field;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Getter;
MethodParameters:
Name Flags
containerJavaType
propertyName
field
protected org.hibernate.property.access.spi.Setter fieldSetter(java.lang.Class<?>, java.lang.String, java.lang.reflect.Field);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Setter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.hibernate.property.access.spi.SetterFieldImpl
dup
aload 1
aload 2
aload 3
invokespecial org.hibernate.property.access.spi.SetterFieldImpl.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Field;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
0 1 1 containerJavaType Ljava/lang/Class<*>;
0 1 2 propertyName Ljava/lang/String;
0 1 3 field Ljava/lang/reflect/Field;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/reflect/Field;)Lorg/hibernate/property/access/spi/Setter;
MethodParameters:
Name Flags
containerJavaType
propertyName
field
protected org.hibernate.property.access.spi.Getter propertyGetter(java.lang.Class<?>, java.lang.String, java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Getter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.hibernate.property.access.spi.GetterMethodImpl
dup
aload 1
aload 2
aload 3
invokespecial org.hibernate.property.access.spi.GetterMethodImpl.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
0 1 1 containerJavaType Ljava/lang/Class<*>;
0 1 2 propertyName Ljava/lang/String;
0 1 3 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Getter;
MethodParameters:
Name Flags
containerJavaType
propertyName
method
protected org.hibernate.property.access.spi.Setter propertySetter(java.lang.Class<?>, java.lang.String, java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Setter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: new org.hibernate.property.access.spi.SetterMethodImpl
dup
aload 1
aload 2
aload 3
invokespecial org.hibernate.property.access.spi.SetterMethodImpl.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/Method;)V
StackMap locals:
StackMap stack: org.hibernate.property.access.spi.SetterMethodImpl
2: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
0 3 1 containerJavaType Ljava/lang/Class<*>;
0 3 2 propertyName Ljava/lang/String;
0 3 3 method Ljava/lang/reflect/Method;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/reflect/Method;)Lorg/hibernate/property/access/spi/Setter;
MethodParameters:
Name Flags
containerJavaType
propertyName
method
public org.hibernate.property.access.spi.PropertyAccessStrategy getPropertyAccessStrategy();
descriptor: ()Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.strategy:Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
public org.hibernate.property.access.spi.Getter getGetter();
descriptor: ()Lorg/hibernate/property/access/spi/Getter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.getter:Lorg/hibernate/property/access/spi/Getter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
public org.hibernate.property.access.spi.Setter getSetter();
descriptor: ()Lorg/hibernate/property/access/spi/Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.property.access.internal.PropertyAccessMixedImpl.setter:Lorg/hibernate/property/access/spi/Setter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/property/access/internal/PropertyAccessMixedImpl;
static int[] $SWITCH_TABLE$javax$persistence$AccessType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.$SWITCH_TABLE$javax$persistence$AccessType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.persistence.AccessType.values:()[Ljavax/persistence/AccessType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.persistence.AccessType.FIELD:Ljavax/persistence/AccessType;
invokevirtual javax.persistence.AccessType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.persistence.AccessType.PROPERTY:Ljavax/persistence/AccessType;
invokevirtual javax.persistence.AccessType.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic org.hibernate.property.access.internal.PropertyAccessMixedImpl.$SWITCH_TABLE$javax$persistence$AccessType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "PropertyAccessMixedImpl.java"