public class org.enhydra.jdbc.standard.StandardPooledConnection implements javax.sql.PooledConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.enhydra.jdbc.standard.StandardPooledConnection
  super_class: java.lang.Object
{
  protected org.enhydra.jdbc.standard.StandardConnectionPoolDataSource dataSource;
    descriptor: Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
    flags: (0x0004) ACC_PROTECTED

  public java.sql.Connection con;
    descriptor: Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC

  public org.enhydra.jdbc.standard.StandardConnectionHandle connectionHandle;
    descriptor: Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
    flags: (0x0001) ACC_PUBLIC

  java.util.Vector listeners;
    descriptor: Ljava/util/Vector;
    flags: (0x0000) 

  boolean isClosed;
    descriptor: Z
    flags: (0x0000) 

  public org.enhydra.jdbc.util.Logger log;
    descriptor: Lorg/enhydra/jdbc/util/Logger;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(org.enhydra.jdbc.standard.StandardConnectionPoolDataSource, java.lang.String, java.lang.String);
    descriptor: (Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
        start local 1 // org.enhydra.jdbc.standard.StandardConnectionPoolDataSource dataSource
        start local 2 // java.lang.String user
        start local 3 // java.lang.String password
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 1 /* dataSource */
            putfield org.enhydra.jdbc.standard.StandardPooledConnection.dataSource:Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
         2: .line 65
            aload 0 /* this */
            aload 1 /* dataSource */
            aload 2 /* user */
            aload 3 /* password */
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionPoolDataSource.getConnection:(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            putfield org.enhydra.jdbc.standard.StandardPooledConnection.con:Ljava/sql/Connection;
         3: .line 66
            aload 0 /* this */
            new java.util.Vector
            dup
            iconst_5
            iconst_5
            invokespecial java.util.Vector.<init>:(II)V
            putfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
         4: .line 67
            return
        end local 3 // java.lang.String password
        end local 2 // java.lang.String user
        end local 1 // org.enhydra.jdbc.standard.StandardConnectionPoolDataSource dataSource
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            0    5     1  dataSource  Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
            0    5     2        user  Ljava/lang/String;
            0    5     3    password  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      dataSource  
      user        
      password    

  public synchronized java.sql.Connection getConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 76
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.connectionHandle:Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
            ifnull 3
         1: .line 78
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.connectionHandle:Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionHandle.isClosed:()Z
            ifne 3
         2: .line 79
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.connectionHandle:Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionHandle.close:()V
         3: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.enhydra.jdbc.standard.StandardPooledConnection.newConnectionHandle:()V
         4: .line 83
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.connectionHandle:Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
            areturn
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
    Exceptions:
      throws java.sql.SQLException

  protected void newConnectionHandle();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 87
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.log:Lorg/enhydra/jdbc/util/Logger;
            ldc "StandardPooledConnection:newConnectionHandle"
            invokevirtual org.enhydra.jdbc.util.Logger.debug:(Ljava/lang/Object;)V
         1: .line 88
            aload 0 /* this */
         2: .line 89
            new org.enhydra.jdbc.standard.StandardConnectionHandle
            dup
         3: .line 90
            aload 0 /* this */
         4: .line 91
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.dataSource:Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionPoolDataSource.getMasterPrepStmtCache:()Ljava/util/Hashtable;
         5: .line 92
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.dataSource:Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionPoolDataSource.getPreparedStmtCacheSize:()I
         6: .line 89
            invokespecial org.enhydra.jdbc.standard.StandardConnectionHandle.<init>:(Lorg/enhydra/jdbc/standard/StandardPooledConnection;Ljava/util/Hashtable;I)V
         7: .line 88
            putfield org.enhydra.jdbc.standard.StandardPooledConnection.connectionHandle:Lorg/enhydra/jdbc/standard/StandardConnectionHandle;
         8: .line 93
            return
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 96
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.con:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.close:()V
         1: .line 97
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.dataSource:Lorg/enhydra/jdbc/standard/StandardConnectionPoolDataSource;
            invokevirtual org.enhydra.jdbc.standard.StandardConnectionPoolDataSource.getMasterPrepStmtCache:()Ljava/util/Hashtable;
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.con:Ljava/sql/Connection;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 98
            return
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
    Exceptions:
      throws java.sql.SQLException

  public void addConnectionEventListener(javax.sql.ConnectionEventListener);
    descriptor: (Ljavax/sql/ConnectionEventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
        start local 1 // javax.sql.ConnectionEventListener listener
         0: .line 101
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            aload 1 /* listener */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 102
            return
        end local 1 // javax.sql.ConnectionEventListener listener
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            0    2     1  listener  Ljavax/sql/ConnectionEventListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeConnectionEventListener(javax.sql.ConnectionEventListener);
    descriptor: (Ljavax/sql/ConnectionEventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
        start local 1 // javax.sql.ConnectionEventListener listener
         0: .line 105
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            aload 1 /* listener */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            pop
         1: .line 106
            return
        end local 1 // javax.sql.ConnectionEventListener listener
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            0    2     1  listener  Ljavax/sql/ConnectionEventListener;
    MethodParameters:
          Name  Flags
      listener  

  void closeEvent();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 113
            new javax.sql.ConnectionEvent
            dup
            aload 0 /* this */
            invokespecial javax.sql.ConnectionEvent.<init>:(Ljavax/sql/PooledConnection;)V
            astore 1 /* event */
        start local 1 // javax.sql.ConnectionEvent event
         1: .line 115
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 116
      StackMap locals: javax.sql.ConnectionEvent int
      StackMap stack:
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         4: .line 117
            aload 3 /* obj */
            checkcast javax.sql.ConnectionEventListener
            astore 4 /* cel */
        start local 4 // javax.sql.ConnectionEventListener cel
         5: .line 119
            aload 4 /* cel */
            aload 1 /* event */
            invokeinterface javax.sql.ConnectionEventListener.connectionClosed:(Ljavax/sql/ConnectionEvent;)V
        end local 4 // javax.sql.ConnectionEventListener cel
        end local 3 // java.lang.Object obj
         6: .line 115
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
        end local 2 // int i
         8: .line 122
            return
        end local 1 // javax.sql.ConnectionEvent event
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            1    9     1  event  Ljavax/sql/ConnectionEvent;
            2    8     2      i  I
            4    6     3    obj  Ljava/lang/Object;
            5    6     4    cel  Ljavax/sql/ConnectionEventListener;

  public void connectionErrorOccurred(javax.sql.ConnectionEvent);
    descriptor: (Ljavax/sql/ConnectionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
        start local 1 // javax.sql.ConnectionEvent event
         0: .line 134
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 135
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         3: .line 136
            aload 3 /* obj */
            checkcast javax.sql.ConnectionEventListener
            astore 4 /* cel */
        start local 4 // javax.sql.ConnectionEventListener cel
         4: .line 138
            aload 4 /* cel */
            aload 1 /* event */
            invokeinterface javax.sql.ConnectionEventListener.connectionErrorOccurred:(Ljavax/sql/ConnectionEvent;)V
        end local 4 // javax.sql.ConnectionEventListener cel
        end local 3 // java.lang.Object obj
         5: .line 134
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.listeners:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 2
        end local 2 // int i
         7: .line 141
            return
        end local 1 // javax.sql.ConnectionEvent event
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            0    8     1  event  Ljavax/sql/ConnectionEvent;
            1    7     2      i  I
            3    5     3    obj  Ljava/lang/Object;
            4    5     4    cel  Ljavax/sql/ConnectionEventListener;
    MethodParameters:
       Name  Flags
      event  

  public java.sql.Connection getPhysicalConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 147
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.con:Ljava/sql/Connection;
            areturn
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;

  public void setLogger(org.enhydra.jdbc.util.Logger);
    descriptor: (Lorg/enhydra/jdbc/util/Logger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
        start local 1 // org.enhydra.jdbc.util.Logger alog
         0: .line 151
            aload 0 /* this */
            aload 1 /* alog */
            putfield org.enhydra.jdbc.standard.StandardPooledConnection.log:Lorg/enhydra/jdbc/util/Logger;
         1: .line 152
            return
        end local 1 // org.enhydra.jdbc.util.Logger alog
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            0    2     1  alog  Lorg/enhydra/jdbc/util/Logger;
    MethodParameters:
      Name  Flags
      alog  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
         0: .line 155
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 156
            aload 1 /* sb */
            ldc "StandardPooledConnection:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 157
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "     is closed =<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.isClosed:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 158
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "     connection =<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.enhydra.jdbc.standard.StandardPooledConnection.con:Ljava/sql/Connection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 160
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // org.enhydra.jdbc.standard.StandardPooledConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/enhydra/jdbc/standard/StandardPooledConnection;
            1    5     1    sb  Ljava/lang/StringBuffer;

  public void removeStatementEventListener(javax.sql.StatementEventListener);
    descriptor: (Ljavax/sql/StatementEventListener;)V
    flags: (0x1001) ACC_PUBLIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 46
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type StandardPooledConnection must implement the inherited abstract method PooledConnection.removeStatementEventListener(StatementEventListener)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
            

  public void addStatementEventListener(javax.sql.StatementEventListener);
    descriptor: (Ljavax/sql/StatementEventListener;)V
    flags: (0x1001) ACC_PUBLIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 46
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe type StandardPooledConnection must implement the inherited abstract method PooledConnection.addStatementEventListener(StatementEventListener)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
            
}
SourceFile: "StandardPooledConnection.java"