class org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl implements org.springframework.jdbc.core.CallableStatementCreator, org.springframework.jdbc.core.SqlProvider, org.springframework.jdbc.core.ParameterDisposer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl
super_class: java.lang.Object
{
private org.springframework.jdbc.core.ParameterMapper inParameterMapper;
descriptor: Lorg/springframework/jdbc/core/ParameterMapper;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.util.Map<java.lang.String, ?> inParameters;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
final org.springframework.jdbc.core.CallableStatementCreatorFactory this$0;
descriptor: Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.jdbc.core.CallableStatementCreatorFactory, org.springframework.jdbc.core.ParameterMapper);
descriptor: (Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;Lorg/springframework/jdbc/core/ParameterMapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameterMapper:Lorg/springframework/jdbc/core/ParameterMapper;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
0 3 2 inParamMapper Lorg/springframework/jdbc/core/ParameterMapper;
MethodParameters:
Name Flags
this$0 final
inParamMapper
public void <init>(java.util.Map<java.lang.String, ?>);
descriptor: (Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
0 3 2 inParams Ljava/util/Map<Ljava/lang/String;*>;
Signature: (Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
this$0 final
inParams
public java.sql.CallableStatement createCallableStatement(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)Ljava/sql/CallableStatement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameterMapper:Lorg/springframework/jdbc/core/ParameterMapper;
ifnull 3
1: aload 0
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameterMapper:Lorg/springframework/jdbc/core/ParameterMapper;
aload 1
invokeinterface org.springframework.jdbc.core.ParameterMapper.createMap:(Ljava/sql/Connection;)Ljava/util/Map;
putfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
ifnonnull 7
4: new org.springframework.dao.InvalidDataAccessApiUsageException
dup
5: ldc "A ParameterMapper or a Map of parameters must be provided"
6: invokespecial org.springframework.dao.InvalidDataAccessApiUsageException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 8: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.resultSetType:I
sipush 1003
if_icmpne 11
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.updatableResults:Z
ifne 11
9: aload 1
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.callString:Ljava/lang/String;
invokeinterface java.sql.Connection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
astore 2
10: goto 15
11: StackMap locals: java.sql.CallableStatement
StackMap stack:
aload 1
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.callString:Ljava/lang/String;
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.resultSetType:I
12: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.updatableResults:Z
ifeq 13
sipush 1008
goto 14
StackMap locals: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl java.sql.Connection java.sql.CallableStatement
StackMap stack: java.sql.Connection java.lang.String int
13: sipush 1007
14: StackMap locals: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl java.sql.Connection java.sql.CallableStatement
StackMap stack: java.sql.Connection java.lang.String int int
invokeinterface java.sql.Connection.prepareCall:(Ljava/lang/String;II)Ljava/sql/CallableStatement;
astore 2
15: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 16: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.declaredParameters:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 38
StackMap locals: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl java.sql.Connection java.sql.CallableStatement int top java.util.Iterator
StackMap stack:
17: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.jdbc.core.SqlParameter
astore 4
start local 4 18: aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.isResultsParameter:()Z
ifne 38
19: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 20: aload 4
instanceof org.springframework.jdbc.core.ResultSetSupportingSqlParameter
ifeq 32
21: aload 4
instanceof org.springframework.jdbc.core.SqlOutParameter
ifeq 37
22: aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getTypeName:()Ljava/lang/String;
ifnull 25
23: aload 2
iload 3
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getSqlType:()I
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getTypeName:()Ljava/lang/String;
invokeinterface java.sql.CallableStatement.registerOutParameter:(IILjava/lang/String;)V
24: goto 29
25: StackMap locals: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl java.sql.Connection java.sql.CallableStatement int org.springframework.jdbc.core.SqlParameter java.util.Iterator java.lang.Object
StackMap stack:
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getScale:()Ljava/lang/Integer;
ifnull 28
26: aload 2
iload 3
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getSqlType:()I
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getScale:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.sql.CallableStatement.registerOutParameter:(III)V
27: goto 29
28: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getSqlType:()I
invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
29: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.isInputValueProvided:()Z
ifeq 37
30: aload 2
iload 3
aload 4
aload 6
invokestatic org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue:(Ljava/sql/PreparedStatement;ILorg/springframework/jdbc/core/SqlParameter;Ljava/lang/Object;)V
31: goto 37
32: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 36
33: new org.springframework.dao.InvalidDataAccessApiUsageException
dup
34: new java.lang.StringBuilder
dup
ldc "Required input parameter '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.springframework.jdbc.core.SqlParameter.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is missing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial org.springframework.dao.InvalidDataAccessApiUsageException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 4
aload 6
invokestatic org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue:(Ljava/sql/PreparedStatement;ILorg/springframework/jdbc/core/SqlParameter;Ljava/lang/Object;)V
37: StackMap locals:
StackMap stack:
iinc 3 1
end local 6 end local 4 38: StackMap locals: org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl java.sql.Connection java.sql.CallableStatement int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
39: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
0 40 1 con Ljava/sql/Connection;
8 40 2 cs Ljava/sql/CallableStatement;
16 40 3 sqlColIndx I
18 38 4 declaredParam Lorg/springframework/jdbc/core/SqlParameter;
20 38 6 inValue Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
con
public java.lang.String getSql();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.callString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
public void cleanupParameters();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
ifnull 2
1: aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokestatic org.springframework.jdbc.core.StatementCreatorUtils.cleanupParameters:(Ljava/util/Collection;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "CallableStatementCreator: sql=["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.this$0:Lorg/springframework/jdbc/core/CallableStatementCreatorFactory;
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory.callString:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]; parameters="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.inParameters:Ljava/util/Map;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/core/CallableStatementCreatorFactory$CallableStatementCreatorImpl;
}
SourceFile: "CallableStatementCreatorFactory.java"
NestHost: org.springframework.jdbc.core.CallableStatementCreatorFactory
InnerClasses:
private CallableStatementCreatorImpl = org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl of org.springframework.jdbc.core.CallableStatementCreatorFactory