class org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler
super_class: java.lang.Object
{
private final java.sql.Connection target;
descriptor: Ljava/sql/Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/datasource/SingleConnectionDataSource$CloseSuppressingInvocationHandler;
0 3 1 target Ljava/sql/Connection;
MethodParameters:
Name Flags
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=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
dup
astore 4
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 7
-1295482945: 1
-840111517: 2
-683486410: 3
94756344: 4
147696667: 5
1054683845: 6
1542905856: 7
default: 19
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 4
ldc "equals"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 19
StackMap locals:
StackMap stack:
2: aload 4
ldc "unwrap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 19
StackMap locals:
StackMap stack:
3: aload 4
ldc "isClosed"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 19
StackMap locals:
StackMap stack:
4: aload 4
ldc "close"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 19
StackMap locals:
StackMap stack:
5: aload 4
ldc "hashCode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 19
StackMap locals:
StackMap stack:
6: aload 4
ldc "getTargetConnection"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 19
StackMap locals:
StackMap stack:
7: aload 4
ldc "isWrapperFor"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 19
8: StackMap locals:
StackMap stack:
aload 1
aload 3
iconst_0
aaload
if_acmpne 9
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
9: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
11: StackMap locals:
StackMap stack:
aconst_null
areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
invokeinterface java.sql.Connection.isClosed:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
areturn
14: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
checkcast java.lang.Class
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 15
aload 1
goto 16
StackMap locals:
StackMap stack:
15: aload 0
getfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
aload 3
iconst_0
aaload
checkcast java.lang.Class
invokeinterface java.sql.Connection.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
16: areturn
17: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
checkcast java.lang.Class
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 18
aload 0
getfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
aload 3
iconst_0
aaload
checkcast java.lang.Class
invokeinterface java.sql.Connection.isWrapperFor:(Ljava/lang/Class;)Z
ifne 18
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
18: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
19: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler.target:Ljava/sql/Connection;
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
20: areturn
21: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 5
start local 5 22: aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/jdbc/datasource/SingleConnectionDataSource$CloseSuppressingInvocationHandler;
0 23 1 proxy Ljava/lang/Object;
0 23 2 method Ljava/lang/reflect/Method;
0 23 3 args [Ljava/lang/Object;
22 23 5 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
19 20 21 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "SingleConnectionDataSource.java"
NestHost: org.springframework.jdbc.datasource.SingleConnectionDataSource
InnerClasses:
private CloseSuppressingInvocationHandler = org.springframework.jdbc.datasource.SingleConnectionDataSource$CloseSuppressingInvocationHandler of org.springframework.jdbc.datasource.SingleConnectionDataSource