public class org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator extends org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator
super_class: org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
{
private static final int MESSAGE_ONLY_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MESSAGE_THROWABLE_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MESSAGE_SQLEX_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MESSAGE_SQL_THROWABLE_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int MESSAGE_SQL_SQLEX_CONSTRUCTOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private org.springframework.util.function.SingletonSupplier<org.springframework.jdbc.support.SQLErrorCodes> sqlErrorCodes;
descriptor: Lorg/springframework/util/function/SingletonSupplier;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/springframework/util/function/SingletonSupplier<Lorg/springframework/jdbc/support/SQLErrorCodes;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.<init>:()V
1: aload 0
new org.springframework.jdbc.support.SQLExceptionSubclassTranslator
dup
invokespecial org.springframework.jdbc.support.SQLExceptionSubclassTranslator.<init>:()V
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setFallbackTranslator:(Lorg/springframework/jdbc/support/SQLExceptionTranslator;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
public void <init>(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource:(Ljavax/sql/DataSource;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 dataSource Ljavax/sql/DataSource;
MethodParameters:
Name Flags
dataSource
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDatabaseProductName:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 dbName Ljava/lang/String;
MethodParameters:
Name Flags
dbName
public void <init>(org.springframework.jdbc.support.SQLErrorCodes);
descriptor: (Lorg/springframework/jdbc/support/SQLErrorCodes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>:()V
1: aload 0
aload 1
invokestatic org.springframework.util.function.SingletonSupplier.of:(Ljava/lang/Object;)Lorg/springframework/util/function/SingletonSupplier;
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 3 1 sec Lorg/springframework/jdbc/support/SQLErrorCodes;
MethodParameters:
Name Flags
sec
public void setDataSource(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
invokedynamic get(Ljavax/sql/DataSource;)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/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator.lambda$0(Ljavax/sql/DataSource;)Lorg/springframework/jdbc/support/SQLErrorCodes; (6)
()Lorg/springframework/jdbc/support/SQLErrorCodes;
invokestatic org.springframework.util.function.SingletonSupplier.of:(Ljava/util/function/Supplier;)Lorg/springframework/util/function/SingletonSupplier;
2: putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
3: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
invokevirtual org.springframework.util.function.SingletonSupplier.get:()Ljava/lang/Object;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 5 1 dataSource Ljavax/sql/DataSource;
MethodParameters:
Name Flags
dataSource
public void setDatabaseProductName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.springframework.jdbc.support.SQLErrorCodesFactory.getInstance:()Lorg/springframework/jdbc/support/SQLErrorCodesFactory;
aload 1
invokevirtual org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes:(Ljava/lang/String;)Lorg/springframework/jdbc/support/SQLErrorCodes;
invokestatic org.springframework.util.function.SingletonSupplier.of:(Ljava/lang/Object;)Lorg/springframework/util/function/SingletonSupplier;
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 2 1 dbName Ljava/lang/String;
MethodParameters:
Name Flags
dbName
public void setSqlErrorCodes(org.springframework.jdbc.support.SQLErrorCodes);
descriptor: (Lorg/springframework/jdbc/support/SQLErrorCodes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.function.SingletonSupplier.ofNullable:(Ljava/lang/Object;)Lorg/springframework/util/function/SingletonSupplier;
putfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 2 1 sec Lorg/springframework/jdbc/support/SQLErrorCodes;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
sec
public org.springframework.jdbc.support.SQLErrorCodes getSqlErrorCodes();
descriptor: ()Lorg/springframework/jdbc/support/SQLErrorCodes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.sqlErrorCodes:Lorg/springframework/util/function/SingletonSupplier;
invokestatic org.springframework.util.function.SupplierUtils.resolve:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast org.springframework.jdbc.support.SQLErrorCodes
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected org.springframework.dao.DataAccessException doTranslate(java.lang.String, java.lang.String, java.sql.SQLException);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
astore 4
start local 4 1: aload 4
instanceof java.sql.BatchUpdateException
ifeq 5
aload 4
invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
ifnull 5
2: aload 4
invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
astore 5
start local 5 3: aload 5
invokevirtual java.sql.SQLException.getErrorCode:()I
ifgt 4
aload 5
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
ifnull 5
4: StackMap locals: java.sql.SQLException java.sql.SQLException
StackMap stack:
aload 5
astore 4
end local 5 5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.customTranslate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 5
areturn
8: StackMap locals: org.springframework.dao.DataAccessException
StackMap stack:
aload 0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes:()Lorg/springframework/jdbc/support/SQLErrorCodes;
astore 6
start local 6 9: aload 6
ifnull 15
10: aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCustomSqlExceptionTranslator:()Lorg/springframework/jdbc/support/SQLExceptionTranslator;
astore 7
start local 7 11: aload 7
ifnull 15
12: aload 7
aload 1
aload 2
aload 4
invokeinterface org.springframework.jdbc.support.SQLExceptionTranslator.translate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
astore 8
start local 8 13: aload 8
ifnull 15
14: aload 8
areturn
end local 8 end local 7 15: StackMap locals: org.springframework.jdbc.support.SQLErrorCodes
StackMap stack:
aload 6
ifnull 73
16: aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.isUseSqlStateForTranslation:()Z
ifeq 19
17: aload 4
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
astore 7
start local 7 18: goto 24
end local 7 19: StackMap locals:
StackMap stack:
aload 4
astore 8
start local 8 20: goto 22
21: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes top java.sql.SQLException
StackMap stack:
aload 8
invokevirtual java.sql.SQLException.getCause:()Ljava/lang/Throwable;
checkcast java.sql.SQLException
astore 8
22: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.sql.SQLException.getErrorCode:()I
ifne 23
aload 8
invokevirtual java.sql.SQLException.getCause:()Ljava/lang/Throwable;
instanceof java.sql.SQLException
ifne 21
23: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.sql.SQLException.getErrorCode:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
astore 7
end local 8 start local 7 24: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String
StackMap stack:
aload 7
ifnull 73
25: aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCustomTranslations:()[Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
astore 8
start local 8 26: aload 8
ifnull 39
27: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 38
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[] top int int org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack:
28: aload 12
iload 10
aaload
astore 9
start local 9 29: aload 9
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getErrorCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 37
30: aload 9
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getExceptionClass:()Ljava/lang/Class;
ifnull 37
31: aload 0
32: aload 1
aload 2
aload 4
aload 9
invokevirtual org.springframework.jdbc.support.CustomSQLErrorCodesTranslation.getExceptionClass:()Ljava/lang/Class;
33: invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.createCustomException:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class;)Lorg/springframework/dao/DataAccessException;
astore 13
start local 13 34: aload 13
ifnull 37
35: aload 0
aload 1
aload 2
aload 4
iconst_1
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
36: aload 13
areturn
end local 13 end local 9 37: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
38: iload 10
iload 11
if_icmplt 28
39: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getBadSqlGrammarCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 44
40: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
41: new org.springframework.jdbc.BadSqlGrammarException
dup
aload 1
aload 2
ifnull 42
aload 2
goto 43
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 41 new 41 java.lang.String
42: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 41 new 41 java.lang.String java.lang.String
43: aload 4
invokespecial org.springframework.jdbc.BadSqlGrammarException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
areturn
44: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getInvalidResultSetAccessCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 49
45: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
46: new org.springframework.jdbc.InvalidResultSetAccessException
dup
aload 1
aload 2
ifnull 47
aload 2
goto 48
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 46 new 46 java.lang.String
47: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.sql.SQLException org.springframework.dao.DataAccessException org.springframework.jdbc.support.SQLErrorCodes java.lang.String org.springframework.jdbc.support.CustomSQLErrorCodesTranslation[]
StackMap stack: new 46 new 46 java.lang.String java.lang.String
48: aload 4
invokespecial org.springframework.jdbc.InvalidResultSetAccessException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)V
areturn
49: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDuplicateKeyCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 52
50: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
51: new org.springframework.dao.DuplicateKeyException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DuplicateKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
52: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDataIntegrityViolationCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 55
53: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
54: new org.springframework.dao.DataIntegrityViolationException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DataIntegrityViolationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
55: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getPermissionDeniedCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 58
56: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
57: new org.springframework.dao.PermissionDeniedDataAccessException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.PermissionDeniedDataAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
58: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDataAccessResourceFailureCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 61
59: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
60: new org.springframework.dao.DataAccessResourceFailureException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DataAccessResourceFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
61: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getTransientDataAccessResourceCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 64
62: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
63: new org.springframework.dao.TransientDataAccessResourceException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.TransientDataAccessResourceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
64: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCannotAcquireLockCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 67
65: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
66: new org.springframework.dao.CannotAcquireLockException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.CannotAcquireLockException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
67: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getDeadlockLoserCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 70
68: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
69: new org.springframework.dao.DeadlockLoserDataAccessException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.DeadlockLoserDataAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
70: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.getCannotSerializeTransactionCodes:()[Ljava/lang/String;
aload 7
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
iflt 73
71: aload 0
aload 1
aload 2
aload 4
iconst_0
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logTranslation:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
72: new org.springframework.dao.CannotSerializeTransactionException
dup
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.buildMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Ljava/lang/String;
aload 4
invokespecial org.springframework.dao.CannotSerializeTransactionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 8 end local 7 73: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 79
74: aload 6
ifnull 77
aload 6
invokevirtual org.springframework.jdbc.support.SQLErrorCodes.isUseSqlStateForTranslation:()Z
ifeq 77
75: new java.lang.StringBuilder
dup
ldc "SQL state '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "', error code '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 76: goto 78
end local 7 77: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Error code '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 78: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to translate SQLException with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", will now try the fallback translator"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 7 79: StackMap locals:
StackMap stack:
aconst_null
areturn
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 80 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 80 1 task Ljava/lang/String;
0 80 2 sql Ljava/lang/String;
0 80 3 ex Ljava/sql/SQLException;
1 80 4 sqlEx Ljava/sql/SQLException;
3 5 5 nestedSqlEx Ljava/sql/SQLException;
6 80 5 dae Lorg/springframework/dao/DataAccessException;
9 80 6 sqlErrorCodes Lorg/springframework/jdbc/support/SQLErrorCodes;
11 15 7 customTranslator Lorg/springframework/jdbc/support/SQLExceptionTranslator;
13 15 8 customDex Lorg/springframework/dao/DataAccessException;
18 19 7 errorCode Ljava/lang/String;
24 73 7 errorCode Ljava/lang/String;
20 24 8 current Ljava/sql/SQLException;
26 73 8 customTranslations [Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
29 37 9 customTranslation Lorg/springframework/jdbc/support/CustomSQLErrorCodesTranslation;
34 37 13 customException Lorg/springframework/dao/DataAccessException;
76 77 7 codes Ljava/lang/String;
78 79 7 codes Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
task
sql
ex
protected org.springframework.dao.DataAccessException customTranslate(java.lang.String, java.lang.String, java.sql.SQLException);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 1 1 task Ljava/lang/String;
0 1 2 sql Ljava/lang/String;
0 1 3 sqlEx Ljava/sql/SQLException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
task
sql
sqlEx
protected org.springframework.dao.DataAccessException createCustomException(java.lang.String, java.lang.String, java.sql.SQLException, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 4
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 6
start local 6 2: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 25
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
3: aload 10
iload 8
aaload
astore 7
start local 7 4: aload 7
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 11
start local 11 5: aload 11
arraylength
iconst_1
if_icmpne 8
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 8
6: iload 5
iconst_1
if_icmpge 8
7: iconst_1
istore 5
8: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.Class[]
StackMap stack:
aload 11
arraylength
iconst_2
if_icmpne 12
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 12
9: ldc Ljava/lang/Throwable;
aload 11
iconst_1
aaload
if_acmpne 12
10: iload 5
iconst_2
if_icmpge 12
11: iconst_2
istore 5
12: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_2
if_icmpne 16
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 16
13: ldc Ljava/sql/SQLException;
aload 11
iconst_1
aaload
if_acmpne 16
14: iload 5
iconst_3
if_icmpge 16
15: iconst_3
istore 5
16: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_3
if_icmpne 20
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 20
17: ldc Ljava/lang/String;
aload 11
iconst_1
aaload
if_acmpne 20
ldc Ljava/lang/Throwable;
aload 11
iconst_2
aaload
if_acmpne 20
18: iload 5
iconst_4
if_icmpge 20
19: iconst_4
istore 5
20: StackMap locals:
StackMap stack:
aload 11
arraylength
iconst_3
if_icmpne 24
ldc Ljava/lang/String;
aload 11
iconst_0
aaload
if_acmpne 24
21: ldc Ljava/lang/String;
aload 11
iconst_1
aaload
if_acmpne 24
ldc Ljava/sql/SQLException;
aload 11
iconst_2
aaload
if_acmpne 24
22: iload 5
iconst_5
if_icmpge 24
23: iconst_5
istore 5
end local 11 end local 7 24: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
25: iload 8
iload 9
if_icmplt 3
26: iload 5
tableswitch { // 1 - 5
1: 47
2: 42
3: 37
4: 32
5: 27
default: 52
}
27: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class int java.lang.reflect.Constructor[]
StackMap stack:
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
dup
iconst_2
ldc Ljava/sql/SQLException;
aastore
astore 8
start local 8 28: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
astore 9
start local 9 29: aload 4
aload 8
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 30: aload 7
aload 9
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
31: areturn
end local 9 end local 8 end local 7 32: StackMap locals:
StackMap stack:
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
dup
iconst_2
ldc Ljava/lang/Throwable;
aastore
astore 10
start local 10 33: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
astore 11
start local 11 34: aload 4
aload 10
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 35: aload 7
aload 11
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
36: areturn
end local 11 end local 10 end local 7 37: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/sql/SQLException;
aastore
astore 12
start local 12 38: iconst_2
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 3
aastore
astore 13
start local 13 39: aload 4
aload 12
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 40: aload 7
aload 13
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
41: areturn
end local 13 end local 12 end local 7 42: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/Throwable;
aastore
astore 14
start local 14 43: iconst_2
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
aload 3
aastore
astore 15
start local 15 44: aload 4
aload 14
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 45: aload 7
aload 15
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
46: areturn
end local 15 end local 14 end local 7 47: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
astore 16
start local 16 48: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
astore 17
start local 17 49: aload 4
aload 16
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 7
start local 7 50: aload 7
aload 17
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.dao.DataAccessException
51: areturn
end local 17 end local 16 end local 7 52: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 56
53: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to find appropriate constructor of custom exception class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
56: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 57: StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException java.lang.Class
StackMap stack: java.lang.Throwable
astore 5
start local 5 58: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 60
59: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to instantiate custom exception class ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
60: StackMap locals: java.lang.Throwable
StackMap stack:
aconst_null
areturn
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 61 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 61 1 task Ljava/lang/String;
0 61 2 sql Ljava/lang/String;
0 61 3 sqlEx Ljava/sql/SQLException;
0 61 4 exceptionClass Ljava/lang/Class<*>;
1 57 5 constructorType I
2 57 6 constructors [Ljava/lang/reflect/Constructor;
4 24 7 constructor Ljava/lang/reflect/Constructor<*>;
5 24 11 parameterTypes [Ljava/lang/Class;
30 32 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
35 37 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
40 42 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
45 47 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
50 52 7 exceptionConstructor Ljava/lang/reflect/Constructor<*>;
28 32 8 messageAndSqlAndSqlExArgsClass [Ljava/lang/Class;
29 32 9 messageAndSqlAndSqlExArgs [Ljava/lang/Object;
33 37 10 messageAndSqlAndThrowableArgsClass [Ljava/lang/Class;
34 37 11 messageAndSqlAndThrowableArgs [Ljava/lang/Object;
38 42 12 messageAndSqlExArgsClass [Ljava/lang/Class;
39 42 13 messageAndSqlExArgs [Ljava/lang/Object;
43 47 14 messageAndThrowableArgsClass [Ljava/lang/Class;
44 47 15 messageAndThrowableArgs [Ljava/lang/Object;
48 52 16 messageOnlyArgsClass [Ljava/lang/Class;
49 52 17 messageOnlyArgs [Ljava/lang/Object;
58 61 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 31 57 Class java.lang.Throwable
32 36 57 Class java.lang.Throwable
37 41 57 Class java.lang.Throwable
42 46 57 Class java.lang.Throwable
47 51 57 Class java.lang.Throwable
52 56 57 Class java.lang.Throwable
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Ljava/lang/Class<*>;)Lorg/springframework/dao/DataAccessException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
3:
MethodParameters:
Name Flags
task
sql
sqlEx
exceptionClass
private void logTranslation(java.lang.String, java.lang.String, java.sql.SQLException, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
1: iload 4
ifeq 2
ldc "Custom translation of"
goto 3
StackMap locals:
StackMap stack:
2: ldc "Translating"
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 0
getfield org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SQLException with SQL state '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "', error code '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getErrorCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "', message ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 2
ifnull 7
new java.lang.StringBuilder
dup
ldc "; SQL was ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 8
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException int java.lang.String
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
7: ldc ""
StackMap locals: org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator java.lang.String java.lang.String java.sql.SQLException int java.lang.String
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for task ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 5 10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator;
0 11 1 task Ljava/lang/String;
0 11 2 sql Ljava/lang/String;
0 11 3 sqlEx Ljava/sql/SQLException;
0 11 4 custom Z
4 10 5 intro Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
3:
MethodParameters:
Name Flags
task
sql
sqlEx
custom
private static org.springframework.jdbc.support.SQLErrorCodes lambda$0(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)Lorg/springframework/jdbc/support/SQLErrorCodes;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: invokestatic org.springframework.jdbc.support.SQLErrorCodesFactory.getInstance:()Lorg/springframework/jdbc/support/SQLErrorCodesFactory;
aload 0
invokevirtual org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes:(Ljavax/sql/DataSource;)Lorg/springframework/jdbc/support/SQLErrorCodes;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SQLErrorCodeSQLExceptionTranslator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles