public class org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl implements org.hibernate.engine.jdbc.connections.spi.ConnectionProvider, org.hibernate.service.spi.Configurable, org.hibernate.service.spi.Stoppable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl
super_class: java.lang.Object
{
private javax.sql.DataSource dataSource;
descriptor: Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
private java.lang.String user;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pass;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean useCredentials;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.hibernate.engine.jndi.spi.JndiService jndiService;
descriptor: Lorg/hibernate/engine/jndi/spi/JndiService;
flags: (0x0002) ACC_PRIVATE
private boolean available;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
public javax.sql.DataSource getDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
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
aload 1
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 2 1 dataSource Ljavax/sql/DataSource;
MethodParameters:
Name Flags
dataSource
public void setJndiService(org.hibernate.engine.jndi.spi.JndiService);
descriptor: (Lorg/hibernate/engine/jndi/spi/JndiService;)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.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.jndiService:Lorg/hibernate/engine/jndi/spi/JndiService;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 2 1 jndiService Lorg/hibernate/engine/jndi/spi/JndiService;
RuntimeVisibleAnnotations:
org.hibernate.service.spi.InjectService(required = false)
MethodParameters:
Name Flags
jndiService
public boolean isUnwrappableAs(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
1: ldc Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
2: ldc Ljavax/sql/DataSource;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 5 1 unwrapType Ljava/lang/Class;
MethodParameters:
Name Flags
unwrapType
public <T> T unwrap(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: ldc Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
1: ldc Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
ldc Ljavax/sql/DataSource;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
4: aload 0
invokevirtual org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getDataSource:()Ljavax/sql/DataSource;
areturn
5: StackMap locals:
StackMap stack:
new org.hibernate.service.UnknownUnwrapTypeException
dup
aload 1
invokespecial org.hibernate.service.UnknownUnwrapTypeException.<init>:(Ljava/lang/Class;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 6 1 unwrapType Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
unwrapType
public void configure(java.util.Map);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
ifnonnull 13
1: aload 1
ldc "hibernate.connection.datasource"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: ldc Ljavax/sql/DataSource;
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
aload 2
checkcast javax.sql.DataSource
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
4: goto 13
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
checkcast java.lang.String
astore 3
start local 3 6: aload 3
ifnonnull 10
7: new org.hibernate.HibernateException
dup
8: ldc "DataSource to use was not injected nor specified by [hibernate.connection.datasource] configuration property"
9: invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.jndiService:Lorg/hibernate/engine/jndi/spi/JndiService;
ifnonnull 12
11: new org.hibernate.HibernateException
dup
ldc "Unable to locate JndiService to lookup Datasource"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.jndiService:Lorg/hibernate/engine/jndi/spi/JndiService;
aload 3
invokeinterface org.hibernate.engine.jndi.spi.JndiService.locate:(Ljava/lang/String;)Ljava/lang/Object;
checkcast javax.sql.DataSource
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
ifnonnull 15
14: new org.hibernate.HibernateException
dup
ldc "Unable to determine appropriate DataSource to use"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "hibernate.connection.username"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.user:Ljava/lang/String;
16: aload 0
aload 1
ldc "hibernate.connection.password"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.pass:Ljava/lang/String;
17: aload 0
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.user:Ljava/lang/String;
ifnonnull 18
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.pass:Ljava/lang/String;
ifnonnull 18
iconst_0
goto 19
StackMap locals:
StackMap stack: org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl
18: iconst_1
StackMap locals: org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl java.util.Map
StackMap stack: org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl int
19: putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.useCredentials:Z
20: aload 0
iconst_1
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.available:Z
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 22 1 configValues Ljava/util/Map;
2 13 2 dataSource Ljava/lang/Object;
6 13 3 dataSourceJndiName Ljava/lang/String;
MethodParameters:
Name Flags
configValues
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.available:Z
1: aload 0
aconst_null
putfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
public java.sql.Connection getConnection();
descriptor: ()Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.available:Z
ifne 2
1: new org.hibernate.HibernateException
dup
ldc "Provider is closed!"
invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.useCredentials:Z
ifeq 3
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.user:Ljava/lang/String;
aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.pass:Ljava/lang/String;
invokeinterface javax.sql.DataSource.getConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.dataSource:Ljavax/sql/DataSource;
invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
StackMap locals:
StackMap stack: java.sql.Connection
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
Exceptions:
throws java.sql.SQLException
public void closeConnection(java.sql.Connection);
descriptor: (Ljava/sql/Connection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.sql.Connection.close:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
0 2 1 connection Ljava/sql/Connection;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
connection
public boolean supportsAggressiveRelease();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/engine/jdbc/connections/internal/DatasourceConnectionProviderImpl;
}
SourceFile: "DatasourceConnectionProviderImpl.java"