public class org.apache.commons.dbcp2.DataSourceConnectionFactory implements org.apache.commons.dbcp2.ConnectionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.dbcp2.DataSourceConnectionFactory
  super_class: java.lang.Object
{
  private final javax.sql.DataSource dataSource;
    descriptor: Ljavax/sql/DataSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String userName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char[] userPassword;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(javax.sql.DataSource);
    descriptor: (Ljavax/sql/DataSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
        start local 1 // javax.sql.DataSource dataSource
         0: .line 44
            aload 0 /* this */
            aload 1 /* dataSource */
            aconst_null
            aconst_null
            invokespecial org.apache.commons.dbcp2.DataSourceConnectionFactory.<init>:(Ljavax/sql/DataSource;Ljava/lang/String;[C)V
         1: .line 45
            return
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;
            0    2     1  dataSource  Ljavax/sql/DataSource;
    MethodParameters:
            Name  Flags
      dataSource  final

  public void <init>(javax.sql.DataSource, java.lang.String, char[]);
    descriptor: (Ljavax/sql/DataSource;Ljava/lang/String;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // java.lang.String userName
        start local 3 // char[] userPassword
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* dataSource */
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.dataSource:Ljavax/sql/DataSource;
         2: .line 60
            aload 0 /* this */
            aload 2 /* userName */
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userName:Ljava/lang/String;
         3: .line 61
            aload 0 /* this */
            aload 3 /* userPassword */
            invokestatic org.apache.commons.dbcp2.Utils.clone:([C)[C
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userPassword:[C
         4: .line 62
            return
        end local 3 // char[] userPassword
        end local 2 // java.lang.String userName
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;
            0    5     1    dataSource  Ljavax/sql/DataSource;
            0    5     2      userName  Ljava/lang/String;
            0    5     3  userPassword  [C
    MethodParameters:
              Name  Flags
      dataSource    final
      userName      final
      userPassword  final

  public void <init>(javax.sql.DataSource, java.lang.String, java.lang.String);
    descriptor: (Ljavax/sql/DataSource;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
        start local 1 // javax.sql.DataSource dataSource
        start local 2 // java.lang.String userName
        start local 3 // java.lang.String password
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            aload 1 /* dataSource */
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.dataSource:Ljavax/sql/DataSource;
         2: .line 76
            aload 0 /* this */
            aload 2 /* userName */
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userName:Ljava/lang/String;
         3: .line 77
            aload 0 /* this */
            aload 3 /* password */
            invokestatic org.apache.commons.dbcp2.Utils.toCharArray:(Ljava/lang/String;)[C
            putfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userPassword:[C
         4: .line 78
            return
        end local 3 // java.lang.String password
        end local 2 // java.lang.String userName
        end local 1 // javax.sql.DataSource dataSource
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;
            0    5     1  dataSource  Ljavax/sql/DataSource;
            0    5     2    userName  Ljava/lang/String;
            0    5     3    password  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      dataSource  final
      userName    final
      password    final

  public java.sql.Connection createConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
         0: .line 82
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userName:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userPassword:[C
            ifnonnull 2
         1: .line 83
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.dataSource:Ljavax/sql/DataSource;
            invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
            areturn
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.dataSource:Ljavax/sql/DataSource;
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userPassword:[C
            invokestatic org.apache.commons.dbcp2.Utils.toString:([C)Ljava/lang/String;
            invokeinterface javax.sql.DataSource.getConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            areturn
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;
    Exceptions:
      throws java.sql.SQLException

  public javax.sql.DataSource getDataSource();
    descriptor: ()Ljavax/sql/DataSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
         0: .line 93
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.dataSource:Ljavax/sql/DataSource;
            areturn
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;

  public java.lang.String getUserName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
         0: .line 101
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;

  public char[] getUserPassword();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
         0: .line 109
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.DataSourceConnectionFactory.userPassword:[C
            areturn
        end local 0 // org.apache.commons.dbcp2.DataSourceConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/DataSourceConnectionFactory;
}
SourceFile: "DataSourceConnectionFactory.java"