public class org.hibernate.tuple.component.PojoComponentTuplizer extends org.hibernate.tuple.component.AbstractComponentTuplizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.tuple.component.PojoComponentTuplizer
super_class: org.hibernate.tuple.component.AbstractComponentTuplizer
{
private final java.lang.Class componentClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.hibernate.bytecode.spi.ReflectionOptimizer optimizer;
descriptor: Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
flags: (0x0002) ACC_PRIVATE
private final org.hibernate.property.Getter parentGetter;
descriptor: Lorg/hibernate/property/Getter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.property.Setter parentSetter;
descriptor: Lorg/hibernate/property/Setter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.hibernate.mapping.Component);
descriptor: (Lorg/hibernate/mapping/Component;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.hibernate.tuple.component.AbstractComponentTuplizer.<init>:(Lorg/hibernate/mapping/Component;)V
1: aload 0
aload 1
invokevirtual org.hibernate.mapping.Component.getComponentClass:()Ljava/lang/Class;
putfield org.hibernate.tuple.component.PojoComponentTuplizer.componentClass:Ljava/lang/Class;
2: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
anewarray java.lang.String
astore 2
start local 2 3: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
anewarray java.lang.String
astore 3
start local 3 4: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
anewarray java.lang.Class
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: org.hibernate.tuple.component.PojoComponentTuplizer org.hibernate.mapping.Component java.lang.String[] java.lang.String[] java.lang.Class[] int
StackMap stack:
aload 2
iload 5
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.getters:[Lorg/hibernate/property/Getter;
iload 5
aaload
invokeinterface org.hibernate.property.Getter.getMethodName:()Ljava/lang/String;
aastore
8: aload 3
iload 5
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.setters:[Lorg/hibernate/property/Setter;
iload 5
aaload
invokeinterface org.hibernate.property.Setter.getMethodName:()Ljava/lang/String;
aastore
9: aload 4
iload 5
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.getters:[Lorg/hibernate/property/Getter;
iload 5
aaload
invokeinterface org.hibernate.property.Getter.getReturnType:()Ljava/lang/Class;
aastore
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
if_icmplt 7
end local 5 12: aload 1
invokevirtual org.hibernate.mapping.Component.getParentProperty:()Ljava/lang/String;
astore 5
start local 5 13: aload 5
ifnonnull 17
14: aload 0
aconst_null
putfield org.hibernate.tuple.component.PojoComponentTuplizer.parentSetter:Lorg/hibernate/property/Setter;
15: aload 0
aconst_null
putfield org.hibernate.tuple.component.PojoComponentTuplizer.parentGetter:Lorg/hibernate/property/Getter;
16: goto 20
17: StackMap locals: org.hibernate.tuple.component.PojoComponentTuplizer org.hibernate.mapping.Component java.lang.String[] java.lang.String[] java.lang.Class[] java.lang.String
StackMap stack:
aconst_null
invokestatic org.hibernate.property.PropertyAccessorFactory.getPropertyAccessor:(Ljava/lang/String;)Lorg/hibernate/property/PropertyAccessor;
astore 6
start local 6 18: aload 0
aload 6
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.componentClass:Ljava/lang/Class;
aload 5
invokeinterface org.hibernate.property.PropertyAccessor.getSetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Setter;
putfield org.hibernate.tuple.component.PojoComponentTuplizer.parentSetter:Lorg/hibernate/property/Setter;
19: aload 0
aload 6
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.componentClass:Ljava/lang/Class;
aload 5
invokeinterface org.hibernate.property.PropertyAccessor.getGetter:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/Getter;
putfield org.hibernate.tuple.component.PojoComponentTuplizer.parentGetter:Lorg/hibernate/property/Getter;
end local 6 20: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.hasCustomAccessors:Z
ifne 21
invokestatic org.hibernate.cfg.Environment.useReflectionOptimizer:()Z
ifne 23
21: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
22: goto 26
23: StackMap locals:
StackMap stack:
aload 0
invokestatic org.hibernate.cfg.Environment.getBytecodeProvider:()Lorg/hibernate/bytecode/spi/BytecodeProvider;
24: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.componentClass:Ljava/lang/Class;
aload 2
aload 3
aload 4
25: invokeinterface org.hibernate.bytecode.spi.BytecodeProvider.getReflectionOptimizer:(Ljava/lang/Class;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/Class;)Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
putfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
26: StackMap locals:
StackMap stack:
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 27 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 27 1 component Lorg/hibernate/mapping/Component;
3 27 2 getterNames [Ljava/lang/String;
4 27 3 setterNames [Ljava/lang/String;
5 27 4 propTypes [Ljava/lang/Class;
6 12 5 i I
13 27 5 parentPropertyName Ljava/lang/String;
18 20 6 pa Lorg/hibernate/property/PropertyAccessor;
MethodParameters:
Name Flags
component
public java.lang.Class getMappedClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.componentClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
public java.lang.Object[] getPropertyValues(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.hibernate.property.BackrefPropertyAccessor.UNKNOWN:Ljava/io/Serializable;
if_acmpne 2
1: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
anewarray java.lang.Object
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
ifnull 4
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer.getAccessOptimizer:()Lorg/hibernate/bytecode/spi/ReflectionOptimizer$AccessOptimizer;
ifnull 4
3: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer.getAccessOptimizer:()Lorg/hibernate/bytecode/spi/ReflectionOptimizer$AccessOptimizer;
aload 1
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer$AccessOptimizer.getPropertyValues:(Ljava/lang/Object;)[Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.hibernate.tuple.component.AbstractComponentTuplizer.getPropertyValues:(Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 5 1 component Ljava/lang/Object;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
component
public void setPropertyValues(java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
ifnull 3
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer.getAccessOptimizer:()Lorg/hibernate/bytecode/spi/ReflectionOptimizer$AccessOptimizer;
ifnull 3
1: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer.getAccessOptimizer:()Lorg/hibernate/bytecode/spi/ReflectionOptimizer$AccessOptimizer;
aload 1
aload 2
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer$AccessOptimizer.setPropertyValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.hibernate.tuple.component.AbstractComponentTuplizer.setPropertyValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 5 1 component Ljava/lang/Object;
0 5 2 values [Ljava/lang/Object;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
component
values
public java.lang.Object getParent(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.parentGetter:Lorg/hibernate/property/Getter;
aload 1
invokeinterface org.hibernate.property.Getter.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 1 1 component Ljava/lang/Object;
MethodParameters:
Name Flags
component
public boolean hasParentProperty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.parentGetter:Lorg/hibernate/property/Getter;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
public boolean isMethodOf(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.getters:[Lorg/hibernate/property/Getter;
iload 2
aaload
invokeinterface org.hibernate.property.Getter.getMethod:()Ljava/lang/reflect/Method;
astore 3
start local 3 3: aload 3
ifnull 5
aload 3
aload 1
invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.propertySpan:I
if_icmplt 2
end local 2 7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 8 1 method Ljava/lang/reflect/Method;
1 7 2 i I
3 5 3 getterMethod Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
public void setParent(java.lang.Object, java.lang.Object, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)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
getfield org.hibernate.tuple.component.PojoComponentTuplizer.parentSetter:Lorg/hibernate/property/Setter;
aload 1
aload 2
aload 3
invokeinterface org.hibernate.property.Setter.set:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)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/hibernate/tuple/component/PojoComponentTuplizer;
0 2 1 component Ljava/lang/Object;
0 2 2 parent Ljava/lang/Object;
0 2 3 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
MethodParameters:
Name Flags
component
parent
factory
protected org.hibernate.tuple.Instantiator buildInstantiator(org.hibernate.mapping.Component);
descriptor: (Lorg/hibernate/mapping/Component;)Lorg/hibernate/tuple/Instantiator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.hibernate.mapping.Component.isEmbedded:()Z
ifeq 2
aload 1
invokevirtual org.hibernate.mapping.Component.getComponentClass:()Ljava/lang/Class;
invokestatic org.hibernate.internal.util.ReflectHelper.isAbstractClass:(Ljava/lang/Class;)Z
ifeq 2
1: new org.hibernate.tuple.component.PojoComponentTuplizer$ProxiedInstantiator
dup
aload 1
invokespecial org.hibernate.tuple.component.PojoComponentTuplizer$ProxiedInstantiator.<init>:(Lorg/hibernate/mapping/Component;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
ifnonnull 4
3: new org.hibernate.tuple.PojoInstantiator
dup
aload 1
aconst_null
invokespecial org.hibernate.tuple.PojoInstantiator.<init>:(Lorg/hibernate/mapping/Component;Lorg/hibernate/bytecode/spi/ReflectionOptimizer$InstantiationOptimizer;)V
areturn
4: StackMap locals:
StackMap stack:
new org.hibernate.tuple.PojoInstantiator
dup
aload 1
aload 0
getfield org.hibernate.tuple.component.PojoComponentTuplizer.optimizer:Lorg/hibernate/bytecode/spi/ReflectionOptimizer;
invokeinterface org.hibernate.bytecode.spi.ReflectionOptimizer.getInstantiationOptimizer:()Lorg/hibernate/bytecode/spi/ReflectionOptimizer$InstantiationOptimizer;
invokespecial org.hibernate.tuple.PojoInstantiator.<init>:(Lorg/hibernate/mapping/Component;Lorg/hibernate/bytecode/spi/ReflectionOptimizer$InstantiationOptimizer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/tuple/component/PojoComponentTuplizer;
0 5 1 component Lorg/hibernate/mapping/Component;
MethodParameters:
Name Flags
component
protected org.hibernate.property.Getter buildGetter(org.hibernate.mapping.Component, org.hibernate.mapping.Property);
descriptor: (Lorg/hibernate/mapping/Component;Lorg/hibernate/mapping/Property;)Lorg/hibernate/property/Getter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual org.hibernate.mapping.Component.getComponentClass:()Ljava/lang/Class;
invokevirtual org.hibernate.mapping.Property.getGetter:(Ljava/lang/Class;)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/tuple/component/PojoComponentTuplizer;
0 1 1 component Lorg/hibernate/mapping/Component;
0 1 2 prop Lorg/hibernate/mapping/Property;
MethodParameters:
Name Flags
component
prop
protected org.hibernate.property.Setter buildSetter(org.hibernate.mapping.Component, org.hibernate.mapping.Property);
descriptor: (Lorg/hibernate/mapping/Component;Lorg/hibernate/mapping/Property;)Lorg/hibernate/property/Setter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual org.hibernate.mapping.Component.getComponentClass:()Ljava/lang/Class;
invokevirtual org.hibernate.mapping.Property.getSetter:(Ljava/lang/Class;)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/tuple/component/PojoComponentTuplizer;
0 1 1 component Lorg/hibernate/mapping/Component;
0 1 2 prop Lorg/hibernate/mapping/Property;
MethodParameters:
Name Flags
component
prop
}
SourceFile: "PojoComponentTuplizer.java"
NestMembers:
org.hibernate.tuple.component.PojoComponentTuplizer$ProxiedInstantiator
InnerClasses:
public abstract AccessOptimizer = org.hibernate.bytecode.spi.ReflectionOptimizer$AccessOptimizer of org.hibernate.bytecode.spi.ReflectionOptimizer
public abstract InstantiationOptimizer = org.hibernate.bytecode.spi.ReflectionOptimizer$InstantiationOptimizer of org.hibernate.bytecode.spi.ReflectionOptimizer
private ProxiedInstantiator = org.hibernate.tuple.component.PojoComponentTuplizer$ProxiedInstantiator of org.hibernate.tuple.component.PojoComponentTuplizer