public class org.jdbi.v3.core.Handle implements java.io.Closeable, org.jdbi.v3.core.config.Configurable<org.jdbi.v3.core.Handle>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jdbi.v3.core.Handle
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.jdbi.v3.core.Jdbi jdbi;
descriptor: Lorg/jdbi/v3/core/Jdbi;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jdbi.v3.core.Handle$ConnectionCloser closer;
descriptor: Lorg/jdbi/v3/core/Handle$ConnectionCloser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.jdbi.v3.core.transaction.TransactionHandler transactions;
descriptor: Lorg/jdbi/v3/core/transaction/TransactionHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.sql.Connection connection;
descriptor: Ljava/sql/Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean forceEndTransactions;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.ThreadLocal<org.jdbi.v3.core.config.ConfigRegistry> localConfig;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;
private java.lang.ThreadLocal<org.jdbi.v3.core.extension.ExtensionMethod> localExtensionMethod;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;
private org.jdbi.v3.core.statement.StatementBuilder statementBuilder;
descriptor: Lorg/jdbi/v3/core/statement/StatementBuilder;
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/jdbi/v3/core/Handle;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.jdbi.v3.core.Jdbi, org.jdbi.v3.core.config.ConfigRegistry, org.jdbi.v3.core.Handle$ConnectionCloser, org.jdbi.v3.core.transaction.TransactionHandler, org.jdbi.v3.core.statement.StatementBuilder, java.sql.Connection);
descriptor: (Lorg/jdbi/v3/core/Jdbi;Lorg/jdbi/v3/core/config/ConfigRegistry;Lorg/jdbi/v3/core/Handle$ConnectionCloser;Lorg/jdbi/v3/core/transaction/TransactionHandler;Lorg/jdbi/v3/core/statement/StatementBuilder;Ljava/sql/Connection;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.jdbi.v3.core.Handle.closed:Z
2: aload 0
aload 1
putfield org.jdbi.v3.core.Handle.jdbi:Lorg/jdbi/v3/core/Jdbi;
3: aload 0
aload 3
putfield org.jdbi.v3.core.Handle.closer:Lorg/jdbi/v3/core/Handle$ConnectionCloser;
4: aload 0
aload 6
putfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
5: aload 0
aload 2
invokedynamic get(Lorg/jdbi/v3/core/config/ConfigRegistry;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/jdbi/v3/core/Handle.lambda$0(Lorg/jdbi/v3/core/config/ConfigRegistry;)Lorg/jdbi/v3/core/config/ConfigRegistry; (6)
()Lorg/jdbi/v3/core/config/ConfigRegistry;
invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
putfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
6: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield org.jdbi.v3.core.Handle.localExtensionMethod:Ljava/lang/ThreadLocal;
7: aload 0
aload 5
putfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
8: aload 0
aload 4
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.specialize:(Lorg/jdbi/v3/core/Handle;)Lorg/jdbi/v3/core/transaction/TransactionHandler;
putfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
9: aload 0
aload 4
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.isInTransaction:(Lorg/jdbi/v3/core/Handle;)Z
ifeq 10
iconst_0
goto 11
StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.Jdbi org.jdbi.v3.core.config.ConfigRegistry org.jdbi.v3.core.Handle$ConnectionCloser org.jdbi.v3.core.transaction.TransactionHandler org.jdbi.v3.core.statement.StatementBuilder java.sql.Connection
StackMap stack: org.jdbi.v3.core.Handle
10: iconst_1
StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.Jdbi org.jdbi.v3.core.config.ConfigRegistry org.jdbi.v3.core.Handle$ConnectionCloser org.jdbi.v3.core.transaction.TransactionHandler org.jdbi.v3.core.statement.StatementBuilder java.sql.Connection
StackMap stack: org.jdbi.v3.core.Handle int
11: putfield org.jdbi.v3.core.Handle.forceEndTransactions:Z
12: return
end local 6 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 this Lorg/jdbi/v3/core/Handle;
0 13 1 jdbi Lorg/jdbi/v3/core/Jdbi;
0 13 2 localConfig Lorg/jdbi/v3/core/config/ConfigRegistry;
0 13 3 closer Lorg/jdbi/v3/core/Handle$ConnectionCloser;
0 13 4 transactions Lorg/jdbi/v3/core/transaction/TransactionHandler;
0 13 5 statementBuilder Lorg/jdbi/v3/core/statement/StatementBuilder;
0 13 6 connection Ljava/sql/Connection;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
jdbi
localConfig
closer
transactions
statementBuilder
connection
public org.jdbi.v3.core.Jdbi getJdbi();
descriptor: ()Lorg/jdbi/v3/core/Jdbi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.jdbi:Lorg/jdbi/v3/core/Jdbi;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.config.ConfigRegistry getConfig();
descriptor: ()Lorg/jdbi/v3/core/config/ConfigRegistry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.jdbi.v3.core.config.ConfigRegistry
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
void setConfig(org.jdbi.v3.core.config.ConfigRegistry);
descriptor: (Lorg/jdbi/v3/core/config/ConfigRegistry;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 config Lorg/jdbi/v3/core/config/ConfigRegistry;
MethodParameters:
Name Flags
config
void setLocalConfig(java.lang.ThreadLocal<org.jdbi.v3.core.config.ConfigRegistry>);
descriptor: (Ljava/lang/ThreadLocal;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
1: aload 0
aload 1
putfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jdbi/v3/core/Handle;
0 3 1 configThreadLocal Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;
Signature: (Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;)V
MethodParameters:
Name Flags
configThreadLocal
public java.sql.Connection getConnection();
descriptor: ()Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.statement.StatementBuilder getStatementBuilder();
descriptor: ()Lorg/jdbi/v3/core/statement/StatementBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.Handle setStatementBuilder(org.jdbi.v3.core.statement.StatementBuilder);
descriptor: (Lorg/jdbi/v3/core/statement/StatementBuilder;)Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 builder Lorg/jdbi/v3/core/statement/StatementBuilder;
MethodParameters:
Name Flags
builder
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.jdbi.v3.core.Handle.closed:Z
ifeq 3
2: return
3: StackMap locals: java.util.List
StackMap stack:
iconst_0
istore 2
start local 2 4: aload 0
getfield org.jdbi.v3.core.Handle.forceEndTransactions:Z
ifeq 9
aload 0
getfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.jdbi.v3.core.config.ConfigRegistry
ldc Lorg/jdbi/v3/core/Handles;
invokevirtual org.jdbi.v3.core.config.ConfigRegistry.get:(Ljava/lang/Class;)Lorg/jdbi/v3/core/config/JdbiConfig;
checkcast org.jdbi.v3.core.Handles
invokevirtual org.jdbi.v3.core.Handles.isForceEndTransactions:()Z
ifeq 9
5: aload 0
invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
istore 2
6: goto 9
StackMap locals: org.jdbi.v3.core.Handle java.util.List int
StackMap stack: java.lang.Exception
7: astore 3
start local 3 8: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield org.jdbi.v3.core.Handle.localExtensionMethod:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
10: aload 0
getfield org.jdbi.v3.core.Handle.localConfig:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
11: iload 2
ifeq 16
12: aload 0
invokevirtual org.jdbi.v3.core.Handle.rollback:()Lorg/jdbi/v3/core/Handle;
pop
13: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
14: astore 3
start local 3 15: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 16: StackMap locals:
StackMap stack:
aload 0
getfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
aload 0
invokevirtual org.jdbi.v3.core.Handle.getConnection:()Ljava/sql/Connection;
invokeinterface org.jdbi.v3.core.statement.StatementBuilder.close:(Ljava/sql/Connection;)V
17: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
18: astore 3
start local 3 19: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 20: StackMap locals:
StackMap stack:
aload 0
getfield org.jdbi.v3.core.Handle.closer:Lorg/jdbi/v3/core/Handle$ConnectionCloser;
aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
invokeinterface org.jdbi.v3.core.Handle$ConnectionCloser.close:(Ljava/sql/Connection;)V
21: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifne 25
22: aload 1
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 3
start local 3 23: aload 1
aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljava/lang/Throwable;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/lang/Throwable.addSuppressed(Ljava/lang/Throwable;)V (5)
(Ljava/lang/Throwable;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
24: new org.jdbi.v3.core.CloseException
dup
ldc "Failed to clear transaction status on close"
aload 3
invokespecial org.jdbi.v3.core.CloseException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 25: StackMap locals:
StackMap stack:
iload 2
ifeq 35
26: new org.jdbi.v3.core.transaction.TransactionException
dup
ldc "Improper transaction handling detected: A Handle with an open transaction was closed. Transactions must be explicitly committed or rolled back before closing the Handle. Jdbi has rolled back this transaction automatically. This check may be disabled by calling getConfig(Handles.class).setForceEndTransactions(false)."
invokespecial org.jdbi.v3.core.transaction.TransactionException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack: java.sql.SQLException
astore 3
start local 3 28: new org.jdbi.v3.core.CloseException
dup
ldc "Unable to close Connection"
aload 3
invokespecial org.jdbi.v3.core.CloseException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 4
start local 4 29: aload 1
aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/jdbi/v3/core/CloseException;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/lang/Throwable.addSuppressed(Ljava/lang/Throwable;)V (5)
(Ljava/lang/Throwable;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
30: aload 4
athrow
end local 4 end local 3 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
32: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] released"
aload 0
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
33: aload 0
iconst_1
putfield org.jdbi.v3.core.Handle.closed:Z
34: aload 6
athrow
35: StackMap locals:
StackMap stack:
getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] released"
aload 0
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
36: aload 0
iconst_1
putfield org.jdbi.v3.core.Handle.closed:Z
37: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/jdbi/v3/core/Handle;
1 38 1 suppressed Ljava/util/List<Ljava/lang/Throwable;>;
4 38 2 wasInTransaction Z
8 9 3 e Ljava/lang/Exception;
15 16 3 e Ljava/lang/Exception;
19 20 3 e Ljava/lang/Exception;
23 25 3 original Ljava/lang/Throwable;
28 31 3 e Ljava/sql/SQLException;
29 31 4 ce Lorg/jdbi/v3/core/CloseException;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
12 13 14 Class java.lang.Exception
16 17 18 Class java.lang.Exception
20 27 27 Class java.sql.SQLException
20 31 31 any
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.closed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.statement.Query select(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lorg/jdbi/v3/core/statement/Query;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.jdbi.v3.core.Handle.createQuery:(Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Query;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 6
StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] org.jdbi.v3.core.statement.Query int top int int java.lang.Object[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: aload 3
iload 4
iinc 4 1
aload 5
invokevirtual org.jdbi.v3.core.statement.Query.bind:(ILjava/lang/Object;)Lorg/jdbi/v3/core/statement/SqlStatement;
pop
end local 5 5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
iload 7
if_icmplt 3
7: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jdbi/v3/core/Handle;
0 8 1 sql Ljava/lang/String;
0 8 2 args [Ljava/lang/Object;
1 8 3 query Lorg/jdbi/v3/core/statement/Query;
2 8 4 position I
4 5 5 arg Ljava/lang/Object;
MethodParameters:
Name Flags
sql
args
public int execute(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)I
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
aload 1
invokevirtual org.jdbi.v3.core.Handle.createUpdate:(Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Update;
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 2
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 7
StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] java.lang.Throwable java.lang.Throwable org.jdbi.v3.core.statement.Update int top int int java.lang.Object[]
StackMap stack:
4: aload 10
iload 8
aaload
astore 7
start local 7 5: aload 5
iload 6
iinc 6 1
aload 7
invokevirtual org.jdbi.v3.core.statement.Update.bind:(ILjava/lang/Object;)Lorg/jdbi/v3/core/statement/SqlStatement;
pop
end local 7 6: iinc 8 1
StackMap locals:
StackMap stack:
7: iload 8
iload 9
if_icmplt 4
8: aload 5
invokevirtual org.jdbi.v3.core.statement.Update.execute:()I
9: aload 5
ifnull 10
aload 5
invokevirtual org.jdbi.v3.core.statement.Update.close:()V
10: StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] java.lang.Throwable java.lang.Throwable org.jdbi.v3.core.statement.Update int
StackMap stack: int
ireturn
end local 6 StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] java.lang.Throwable java.lang.Throwable org.jdbi.v3.core.statement.Update
StackMap stack: java.lang.Throwable
11: astore 3
12: aload 5
ifnull 13
aload 5
invokevirtual org.jdbi.v3.core.statement.Update.close:()V
end local 5 StackMap locals:
StackMap stack:
13: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
aload 3
ifnonnull 15
aload 4
astore 3
goto 16
StackMap locals:
StackMap stack:
15: aload 3
aload 4
if_acmpeq 16
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jdbi/v3/core/Handle;
0 17 1 sql Ljava/lang/String;
0 17 2 args [Ljava/lang/Object;
2 13 5 stmt Lorg/jdbi/v3/core/statement/Update;
3 11 6 position I
5 6 7 arg Ljava/lang/Object;
Exception table:
from to target type
2 9 11 any
1 10 14 any
11 14 14 any
MethodParameters:
Name Flags
sql
args
public org.jdbi.v3.core.statement.Batch createBatch();
descriptor: ()Lorg/jdbi/v3/core/statement/Batch;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jdbi.v3.core.statement.Batch
dup
aload 0
invokespecial org.jdbi.v3.core.statement.Batch.<init>:(Lorg/jdbi/v3/core/Handle;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.statement.PreparedBatch prepareBatch(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/PreparedBatch;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jdbi.v3.core.statement.PreparedBatch
dup
aload 0
aload 1
invokespecial org.jdbi.v3.core.statement.PreparedBatch.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
0 1 1 sql Ljava/lang/String;
MethodParameters:
Name Flags
sql
public org.jdbi.v3.core.statement.Call createCall(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Call;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jdbi.v3.core.statement.Call
dup
aload 0
aload 1
invokespecial org.jdbi.v3.core.statement.Call.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
0 1 1 sql Ljava/lang/String;
MethodParameters:
Name Flags
sql
public org.jdbi.v3.core.statement.Query createQuery(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Query;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jdbi.v3.core.statement.Query
dup
aload 0
aload 1
invokespecial org.jdbi.v3.core.statement.Query.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
0 1 1 sql Ljava/lang/String;
MethodParameters:
Name Flags
sql
public org.jdbi.v3.core.statement.Script createScript(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Script;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jdbi.v3.core.statement.Script
dup
aload 0
aload 1
invokespecial org.jdbi.v3.core.statement.Script.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
0 1 1 sql Ljava/lang/String;
MethodParameters:
Name Flags
sql
public org.jdbi.v3.core.statement.Update createUpdate(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Update;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.jdbi.v3.core.statement.Update
dup
aload 0
aload 1
invokespecial org.jdbi.v3.core.statement.Update.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
0 1 1 sql Ljava/lang/String;
MethodParameters:
Name Flags
sql
public boolean isInTransaction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.isInTransaction:(Lorg/jdbi/v3/core/Handle;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.Handle begin();
descriptor: ()Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.begin:(Lorg/jdbi/v3/core/Handle;)V
1: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] begin transaction"
aload 0
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jdbi/v3/core/Handle;
public org.jdbi.v3.core.Handle commit();
descriptor: ()Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.commit:(Lorg/jdbi/v3/core/Handle;)V
2: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] commit transaction in {}ms"
aload 0
lload 1
invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
1 4 1 start J
public org.jdbi.v3.core.Handle rollback();
descriptor: ()Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.rollback:(Lorg/jdbi/v3/core/Handle;)V
2: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] rollback transaction in {}ms"
aload 0
lload 1
invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
1 4 1 start J
public org.jdbi.v3.core.Handle rollbackToSavepoint(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.nanoTime:()J
lstore 2
start local 2 1: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
aload 1
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.rollbackToSavepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
2: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] rollback to savepoint \"{}\" in {}ms"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
lload 2
invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
3: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
0 4 1 savepointName Ljava/lang/String;
1 4 2 start J
MethodParameters:
Name Flags
savepointName
private static long msSince(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic java.lang.System.nanoTime:()J
lload 0
lsub
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 start J
MethodParameters:
Name Flags
start final
public org.jdbi.v3.core.Handle savepoint(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
aload 1
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.savepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
1: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] savepoint \"{}\""
aload 0
aload 1
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jdbi/v3/core/Handle;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public org.jdbi.v3.core.Handle release(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
aload 1
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.releaseSavepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
1: getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
ldc "Handle [{}] release savepoint \"{}\""
aload 0
aload 1
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jdbi/v3/core/Handle;
0 3 1 savepointName Ljava/lang/String;
MethodParameters:
Name Flags
savepointName
public boolean isReadOnly();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
invokeinterface java.sql.Connection.isReadOnly:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.sql.SQLException
astore 1
start local 1 3: new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
dup
ldc "Could not getReadOnly"
aload 1
invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
3 4 1 e Ljava/sql/SQLException;
Exception table:
from to target type
0 1 2 Class java.sql.SQLException
public org.jdbi.v3.core.Handle setReadOnly(boolean);
descriptor: (Z)Lorg/jdbi/v3/core/Handle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
iload 1
invokeinterface java.sql.Connection.setReadOnly:(Z)V
1: goto 4
StackMap locals:
StackMap stack: java.sql.SQLException
2: astore 2
start local 2 3: new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
dup
ldc "Could not setReadOnly"
aload 2
invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
athrow
end local 2 4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jdbi/v3/core/Handle;
0 5 1 readOnly Z
3 4 2 e Ljava/sql/SQLException;
Exception table:
from to target type
0 1 2 Class java.sql.SQLException
MethodParameters:
Name Flags
readOnly
public <R, X extends java.lang.Exception> R inTransaction(org.jdbi.v3.core.HandleCallback<R, X>) throws X;
descriptor: (Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
ifeq 2
1: aload 1
aload 0
invokeinterface org.jdbi.v3.core.HandleCallback.withHandle:(Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
aload 1
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.inTransaction:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
3: StackMap locals:
StackMap stack: java.lang.Object
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
0 4 1 callback Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;
Exceptions:
throws java.lang.Exception
Signature: <R:Ljava/lang/Object;X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;)TR;^TX;
MethodParameters:
Name Flags
callback
public <X extends java.lang.Exception> void useTransaction(org.jdbi.v3.core.HandleConsumer<X>) throws X;
descriptor: (Lorg/jdbi/v3/core/HandleConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.jdbi.v3.core.HandleConsumer.asCallback:()Lorg/jdbi/v3/core/HandleCallback;
invokevirtual org.jdbi.v3.core.Handle.inTransaction:(Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 consumer Lorg/jdbi/v3/core/HandleConsumer<TX;>;
Exceptions:
throws java.lang.Exception
Signature: <X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/HandleConsumer<TX;>;)V^TX;
MethodParameters:
Name Flags
consumer final
public <R, X extends java.lang.Exception> R inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel, org.jdbi.v3.core.HandleCallback<R, X>) throws X;
descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
ifeq 9
1: aload 0
invokevirtual org.jdbi.v3.core.Handle.getTransactionIsolationLevel:()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
astore 3
start local 3 2: aload 3
aload 1
if_acmpeq 8
aload 1
getstatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.UNKNOWN:Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
if_acmpeq 8
3: new org.jdbi.v3.core.transaction.TransactionException
dup
4: new java.lang.StringBuilder
dup
ldc "Tried to execute nested transaction with isolation level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "but already running in a transaction with isolation level "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial org.jdbi.v3.core.transaction.TransactionException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.jdbi.v3.core.transaction.TransactionIsolationLevel
StackMap stack:
aload 2
aload 0
invokeinterface org.jdbi.v3.core.HandleCallback.withHandle:(Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
10: new org.jdbi.v3.core.Handle$TransactionResetter
dup
aload 0
aload 0
invokevirtual org.jdbi.v3.core.Handle.getTransactionIsolationLevel:()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
invokespecial org.jdbi.v3.core.Handle$TransactionResetter.<init>:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
astore 5
start local 5 11: aload 0
aload 1
invokevirtual org.jdbi.v3.core.Handle.setTransactionIsolation:(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
12: aload 0
getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
aload 0
aload 1
aload 2
invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.inTransaction:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
13: aload 5
ifnull 14
aload 5
invokevirtual org.jdbi.v3.core.Handle$TransactionResetter.close:()V
14: StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.transaction.TransactionIsolationLevel org.jdbi.v3.core.HandleCallback java.lang.Throwable java.lang.Throwable org.jdbi.v3.core.Handle$TransactionResetter
StackMap stack: java.lang.Object
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 3
16: aload 5
ifnull 17
aload 5
invokevirtual org.jdbi.v3.core.Handle$TransactionResetter.close:()V
end local 5 StackMap locals:
StackMap stack:
17: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 4
aload 3
ifnonnull 19
aload 4
astore 3
goto 20
StackMap locals:
StackMap stack:
19: aload 3
aload 4
if_acmpeq 20
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/jdbi/v3/core/Handle;
0 21 1 level Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
0 21 2 callback Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;
2 9 3 currentLevel Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
11 17 5 tr Lorg/jdbi/v3/core/Handle$TransactionResetter;
Exception table:
from to target type
11 13 15 any
10 14 18 any
15 18 18 any
Exceptions:
throws java.lang.Exception
Signature: <R:Ljava/lang/Object;X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;)TR;^TX;
MethodParameters:
Name Flags
level
callback
public <X extends java.lang.Exception> void useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel, org.jdbi.v3.core.HandleConsumer<X>) throws X;
descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleConsumer;)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
aload 1
aload 2
invokeinterface org.jdbi.v3.core.HandleConsumer.asCallback:()Lorg/jdbi/v3/core/HandleCallback;
invokevirtual org.jdbi.v3.core.Handle.inTransaction:(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 level Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
0 2 2 consumer Lorg/jdbi/v3/core/HandleConsumer<TX;>;
Exceptions:
throws java.lang.Exception
Signature: <X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleConsumer<TX;>;)V^TX;
MethodParameters:
Name Flags
level
consumer
public void setTransactionIsolation(org.jdbi.v3.core.transaction.TransactionIsolationLevel);
descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.UNKNOWN:Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
if_acmpeq 2
1: aload 0
aload 1
invokevirtual org.jdbi.v3.core.transaction.TransactionIsolationLevel.intValue:()I
invokevirtual org.jdbi.v3.core.Handle.setTransactionIsolation:(I)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jdbi/v3/core/Handle;
0 3 1 level Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
MethodParameters:
Name Flags
level
public void setTransactionIsolation(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
invokeinterface java.sql.Connection.getTransactionIsolation:()I
iload 1
if_icmpeq 5
1: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
iload 1
invokeinterface java.sql.Connection.setTransactionIsolation:(I)V
2: goto 5
StackMap locals:
StackMap stack: java.sql.SQLException
3: astore 2
start local 2 4: new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
dup
iload 1
aload 2
invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(ILjava/sql/SQLException;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jdbi/v3/core/Handle;
0 6 1 level I
4 5 2 e Ljava/sql/SQLException;
Exception table:
from to target type
0 2 3 Class java.sql.SQLException
MethodParameters:
Name Flags
level
public org.jdbi.v3.core.transaction.TransactionIsolationLevel getTransactionIsolationLevel();
descriptor: ()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
invokeinterface java.sql.Connection.getTransactionIsolation:()I
invokestatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.valueOf:(I)Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
1: areturn
2: StackMap locals:
StackMap stack: java.sql.SQLException
astore 1
start local 1 3: new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
dup
ldc "unable to access current setting"
aload 1
invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
3 4 1 e Ljava/sql/SQLException;
Exception table:
from to target type
0 1 2 Class java.sql.SQLException
public <T> T attach(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lorg/jdbi/v3/core/extension/Extensions;
invokevirtual org.jdbi.v3.core.Handle.getConfig:(Ljava/lang/Class;)Lorg/jdbi/v3/core/config/JdbiConfig;
checkcast org.jdbi.v3.core.extension.Extensions
1: aload 1
aload 0
invokestatic org.jdbi.v3.core.ConstantHandleSupplier.of:(Lorg/jdbi/v3/core/Handle;)Lorg/jdbi/v3/core/extension/HandleSupplier;
invokevirtual org.jdbi.v3.core.extension.Extensions.findFor:(Ljava/lang/Class;Lorg/jdbi/v3/core/extension/HandleSupplier;)Ljava/util/Optional;
2: aload 1
invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/jdbi/v3/core/Handle.lambda$3(Ljava/lang/Class;)Lorg/jdbi/v3/core/extension/NoSuchExtensionException; (6)
()Lorg/jdbi/v3/core/extension/NoSuchExtensionException;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jdbi/v3/core/Handle;
0 4 1 extensionType Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
extensionType
public org.jdbi.v3.core.extension.ExtensionMethod getExtensionMethod();
descriptor: ()Lorg/jdbi/v3/core/extension/ExtensionMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jdbi.v3.core.Handle.localExtensionMethod:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.jdbi.v3.core.extension.ExtensionMethod
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jdbi/v3/core/Handle;
void setExtensionMethod(org.jdbi.v3.core.extension.ExtensionMethod);
descriptor: (Lorg/jdbi/v3/core/extension/ExtensionMethod;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jdbi.v3.core.Handle.localExtensionMethod:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 extensionMethod Lorg/jdbi/v3/core/extension/ExtensionMethod;
MethodParameters:
Name Flags
extensionMethod
void setExtensionMethodThreadLocal(java.lang.ThreadLocal<org.jdbi.v3.core.extension.ExtensionMethod>);
descriptor: (Ljava/lang/ThreadLocal;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ThreadLocal
putfield org.jdbi.v3.core.Handle.localExtensionMethod:Ljava/lang/ThreadLocal;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jdbi/v3/core/Handle;
0 2 1 extensionMethodThreadLocal Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;
Signature: (Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;)V
MethodParameters:
Name Flags
extensionMethodThreadLocal
private static org.jdbi.v3.core.config.ConfigRegistry lambda$0(org.jdbi.v3.core.config.ConfigRegistry);
descriptor: (Lorg/jdbi/v3/core/config/ConfigRegistry;)Lorg/jdbi/v3/core/config/ConfigRegistry;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.jdbi.v3.core.extension.NoSuchExtensionException lambda$3(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lorg/jdbi/v3/core/extension/NoSuchExtensionException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new org.jdbi.v3.core.extension.NoSuchExtensionException
dup
aload 0
invokespecial org.jdbi.v3.core.extension.NoSuchExtensionException.<init>:(Ljava/lang/Class;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/io/Closeable;Lorg/jdbi/v3/core/config/Configurable<Lorg/jdbi/v3/core/Handle;>;
SourceFile: "Handle.java"
NestMembers:
org.jdbi.v3.core.Handle$ConnectionCloser org.jdbi.v3.core.Handle$TransactionResetter
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
abstract ConnectionCloser = org.jdbi.v3.core.Handle$ConnectionCloser of org.jdbi.v3.core.Handle
private TransactionResetter = org.jdbi.v3.core.Handle$TransactionResetter of org.jdbi.v3.core.Handle