class org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler
super_class: java.lang.Object
{
private final org.hibernate.Session target;
descriptor: Lorg/hibernate/Session;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.springframework.orm.hibernate5.HibernateTemplate this$0;
descriptor: Lorg/springframework/orm/hibernate5/HibernateTemplate;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.orm.hibernate5.HibernateTemplate, org.hibernate.Session);
descriptor: (Lorg/springframework/orm/hibernate5/HibernateTemplate;Lorg/hibernate/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler this
start local 2 // org.hibernate.Session target
0: .line 1202
aload 0 /* this */
aload 1
putfield org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler.this$0:Lorg/springframework/orm/hibernate5/HibernateTemplate;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1203
aload 0 /* this */
aload 2 /* target */
putfield org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler.target:Lorg/hibernate/Session;
2: .line 1204
return
end local 2 // org.hibernate.Session target
end local 0 // org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/orm/hibernate5/HibernateTemplate$CloseSuppressingInvocationHandler;
0 3 2 target Lorg/hibernate/Session;
MethodParameters:
Name Flags
this$0 final
target
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 // org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler this
start local 1 // java.lang.Object proxy
start local 2 // java.lang.reflect.Method method
start local 3 // java.lang.Object[] args
0: .line 1212
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: .line 1214
aload 1 /* proxy */
aload 3 /* args */
iconst_0
aaload
if_acmpne 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
2: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
3: .line 1216
StackMap locals:
StackMap stack:
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "hashCode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: .line 1218
aload 1 /* proxy */
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
5: .line 1220
StackMap locals:
StackMap stack:
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "close"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: .line 1222
aconst_null
areturn
7: .line 1227
StackMap locals:
StackMap stack:
aload 2 /* method */
aload 0 /* this */
getfield org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler.target:Lorg/hibernate/Session;
aload 3 /* args */
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 4 /* retVal */
start local 4 // java.lang.Object retVal
8: .line 1231
aload 4 /* retVal */
instanceof org.hibernate.Criteria
ifeq 11
9: .line 1232
aload 0 /* this */
getfield org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler.this$0:Lorg/springframework/orm/hibernate5/HibernateTemplate;
aload 4 /* retVal */
checkcast org.hibernate.Criteria
invokevirtual org.springframework.orm.hibernate5.HibernateTemplate.prepareCriteria:(Lorg/hibernate/Criteria;)V
10: .line 1233
goto 13
11: .line 1234
StackMap locals: java.lang.Object
StackMap stack:
aload 4 /* retVal */
instanceof org.hibernate.Query
ifeq 13
12: .line 1235
aload 0 /* this */
getfield org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler.this$0:Lorg/springframework/orm/hibernate5/HibernateTemplate;
aload 4 /* retVal */
checkcast org.hibernate.Query
invokevirtual org.springframework.orm.hibernate5.HibernateTemplate.prepareQuery:(Lorg/hibernate/Query;)V
13: .line 1238
StackMap locals:
StackMap stack:
aload 4 /* retVal */
14: areturn
end local 4 // java.lang.Object retVal
15: .line 1240
StackMap locals: org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler java.lang.Object java.lang.reflect.Method java.lang.Object[]
StackMap stack: java.lang.reflect.InvocationTargetException
astore 4 /* ex */
start local 4 // java.lang.reflect.InvocationTargetException ex
16: .line 1241
aload 4 /* ex */
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 4 // java.lang.reflect.InvocationTargetException ex
end local 3 // java.lang.Object[] args
end local 2 // java.lang.reflect.Method method
end local 1 // java.lang.Object proxy
end local 0 // org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/orm/hibernate5/HibernateTemplate$CloseSuppressingInvocationHandler;
0 17 1 proxy Ljava/lang/Object;
0 17 2 method Ljava/lang/reflect/Method;
0 17 3 args [Ljava/lang/Object;
8 15 4 retVal Ljava/lang/Object;
16 17 4 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
7 14 15 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "HibernateTemplate.java"
NestHost: org.springframework.orm.hibernate5.HibernateTemplate
InnerClasses:
private CloseSuppressingInvocationHandler = org.springframework.orm.hibernate5.HibernateTemplate$CloseSuppressingInvocationHandler of org.springframework.orm.hibernate5.HibernateTemplate