public class org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter extends org.springframework.jdbc.datasource.DelegatingDataSource
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter
super_class: org.springframework.jdbc.datasource.DelegatingDataSource
{
private java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String password;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String catalog;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String schema;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.lang.ThreadLocal<org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials> threadBoundCredentials;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter$JdbcUserCredentials;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.jdbc.datasource.DelegatingDataSource.<init>:()V
1: aload 0
2: new org.springframework.core.NamedThreadLocal
dup
ldc "Current JDBC user credentials"
invokespecial org.springframework.core.NamedThreadLocal.<init>:(Ljava/lang/String;)V
putfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.threadBoundCredentials:Ljava/lang/ThreadLocal;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
public void setUsername(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
aload 1
putfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.username:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 2 1 username Ljava/lang/String;
MethodParameters:
Name Flags
username
public void setPassword(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
aload 1
putfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.password:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 2 1 password Ljava/lang/String;
MethodParameters:
Name Flags
password
public void setCatalog(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
aload 1
putfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.catalog:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 2 1 catalog Ljava/lang/String;
MethodParameters:
Name Flags
catalog
public void setSchema(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
aload 1
putfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.schema:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 2 1 schema Ljava/lang/String;
MethodParameters:
Name Flags
schema
public void setCredentialsForCurrentThread(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.threadBoundCredentials:Ljava/lang/ThreadLocal;
new org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials
dup
aload 1
aload 2
invokespecial org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 2 1 username Ljava/lang/String;
0 2 2 password Ljava/lang/String;
MethodParameters:
Name Flags
username
password
public void removeCredentialsFromCurrentThread();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.threadBoundCredentials:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
public java.sql.Connection getConnection();
descriptor: ()Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.threadBoundCredentials:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
aload 1
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials.username:Ljava/lang/String;
aload 1
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials.password:Ljava/lang/String;
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.doGetConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
goto 4
3: StackMap locals: org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials
StackMap stack:
aload 0
aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.username:Ljava/lang/String;
aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.password:Ljava/lang/String;
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.doGetConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
4: StackMap locals:
StackMap stack: java.sql.Connection
astore 2
start local 2 5: aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.catalog:Ljava/lang/String;
ifnull 7
6: aload 2
aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.catalog:Ljava/lang/String;
invokeinterface java.sql.Connection.setCatalog:(Ljava/lang/String;)V
7: StackMap locals: java.sql.Connection
StackMap stack:
aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.schema:Ljava/lang/String;
ifnull 9
8: aload 2
aload 0
getfield org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.schema:Ljava/lang/String;
invokeinterface java.sql.Connection.setSchema:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
1 10 1 threadCredentials Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter$JdbcUserCredentials;
5 10 2 con Ljava/sql/Connection;
Exceptions:
throws java.sql.SQLException
public java.sql.Connection getConnection(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
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
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.doGetConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 1 1 username Ljava/lang/String;
0 1 2 password Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
username
password
protected java.sql.Connection doGetConnection(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.getTargetDataSource:()Ljavax/sql/DataSource;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "'targetDataSource' is required"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 1
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 5
4: aload 0
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.getTargetDataSource:()Ljavax/sql/DataSource;
aload 1
aload 2
invokeinterface javax.sql.DataSource.getConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter.getTargetDataSource:()Ljavax/sql/DataSource;
invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/jdbc/datasource/UserCredentialsDataSourceAdapter;
0 6 1 username Ljava/lang/String;
0 6 2 password Ljava/lang/String;
Exceptions:
throws java.sql.SQLException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
username
password
}
SourceFile: "UserCredentialsDataSourceAdapter.java"
NestMembers:
org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials
InnerClasses:
private final JdbcUserCredentials = org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter$JdbcUserCredentials of org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter