Package org.apache.torque.util

## Class TorqueConnectionImpl

- java.lang.Object
- - org.apache.torque.util.TorqueConnectionImpl

- All Implemented Interfaces:
    `AutoCloseable`, `Connection`, `Wrapper`, `TorqueConnection`

      public class TorqueConnectionImpl
      extends Object
      implements TorqueConnection

  Encapsulates connection status tracking and allows AutoClosing within Torque.
  Author:
    Thomas Vandahl

- - ### Field Summary

    - ### Fields inherited from interface java.sql.Connection

      `TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TorqueConnectionImpl​(Connection con)` | Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `abort​(Executor executor)` |
    `void` | `clearWarnings()` |
    `void` | `close()` |
    `void` | `commit()` |
    `Array` | `createArrayOf​(String typeName, Object[] elements)` |
    `Blob` | `createBlob()` |
    `Clob` | `createClob()` |
    `NClob` | `createNClob()` |
    `SQLXML` | `createSQLXML()` |
    `Statement` | `createStatement()` |
    `Statement` | `createStatement​(int resultSetType, int resultSetConcurrency)` |
    `Statement` | `createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `Struct` | `createStruct​(String typeName, Object[] attributes)` |
    `boolean` | `getAutoCommit()` |
    `String` | `getCatalog()` |
    `Properties` | `getClientInfo()` |
    `String` | `getClientInfo​(String name)` |
    `int` | `getHoldability()` |
    `DatabaseMetaData` | `getMetaData()` |
    `int` | `getNetworkTimeout()` |
    `String` | `getSchema()` |
    `int` | `getTransactionIsolation()` |
    `Map<String,​Class<?>>` | `getTypeMap()` |
    `SQLWarning` | `getWarnings()` |
    `boolean` | `isClosed()` |
    `boolean` | `isCommitted()` | Has Transaction.commit() been called successfully on this connection?
    `boolean` | `isReadOnly()` |
    `boolean` | `isRolledBack()` | Has Transaction.rollback() been called successfully on this connection?
    `boolean` | `isValid​(int timeout)` |
    `boolean` | `isWrapperFor​(Class<?> iface)` |
    `String` | `nativeSQL​(String sql)` |
    `CallableStatement` | `prepareCall​(String sql)` |
    `CallableStatement` | `prepareCall​(String sql, int resultSetType, int resultSetConcurrency)` |
    `CallableStatement` | `prepareCall​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `PreparedStatement` | `prepareStatement​(String sql)` |
    `PreparedStatement` | `prepareStatement​(String sql, int autoGeneratedKeys)` |
    `PreparedStatement` | `prepareStatement​(String sql, int[] columnIndexes)` |
    `PreparedStatement` | `prepareStatement​(String sql, int resultSetType, int resultSetConcurrency)` |
    `PreparedStatement` | `prepareStatement​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `PreparedStatement` | `prepareStatement​(String sql, String[] columnNames)` |
    `void` | `releaseSavepoint​(Savepoint savepoint)` |
    `void` | `rollback()` |
    `void` | `rollback​(Savepoint savepoint)` |
    `void` | `setAutoCommit​(boolean autoCommit)` |
    `void` | `setCatalog​(String catalog)` |
    `void` | `setClientInfo​(String name, String value)` |
    `void` | `setClientInfo​(Properties properties)` |
    `void` | `setCommitted​(boolean committed)` | Called by TransactionManagerImpl.commit() to track state
    `void` | `setHoldability​(int holdability)` |
    `void` | `setNetworkTimeout​(Executor executor, int milliseconds)` |
    `void` | `setReadOnly​(boolean readOnly)` |
    `void` | `setRolledBack​(boolean rolledBack)` | Called by TransactionManagerImpl.rollback() to track state
    `Savepoint` | `setSavepoint()` |
    `Savepoint` | `setSavepoint​(String name)` |
    `void` | `setSchema​(String schema)` |
    `void` | `setTransactionIsolation​(int level)` |
    `void` | `setTypeMap​(Map<String,​Class<?>> map)` |
    `<T> T` | `unwrap​(Class<T> iface)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.sql.Connection

      `beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid`

- - ### Constructor Detail

    - #### TorqueConnectionImpl

          public TorqueConnectionImpl​(Connection con)

      Constructor
      Parameters:
        `con` - Connection object

  - ### Method Detail

    - #### setCommitted

          public void setCommitted​(boolean committed)

      Called by TransactionManagerImpl.commit() to track state
      Specified by:
        `setCommitted` in interface `TorqueConnection`
      Parameters:
        `committed` - the committed state to set

    - #### isCommitted

          public boolean isCommitted()

      Has Transaction.commit() been called successfully on this connection?
      Specified by:
        `isCommitted` in interface `TorqueConnection`
      Returns:
        true, if Transaction.commit() has been called.

    - #### setRolledBack

          public void setRolledBack​(boolean rolledBack)

      Called by TransactionManagerImpl.rollback() to track state
      Specified by:
        `setRolledBack` in interface `TorqueConnection`
      Parameters:
        `rolledBack` - the rolledBack state to set

    - #### isRolledBack

          public boolean isRolledBack()

      Has Transaction.rollback() been called successfully on this connection?
      Specified by:
        `isRolledBack` in interface `TorqueConnection`
      Returns:
        true, if Transaction.rollback() has been called.

    - #### unwrap

          public <T> T unwrap​(Class<T> iface)
                       throws SQLException

      Specified by:
        `unwrap` in interface `Wrapper`
      Throws:
        `SQLException`
      See Also:
        `Wrapper.unwrap(java.lang.Class)`

    - #### isWrapperFor

          public boolean isWrapperFor​(Class<?> iface)
                               throws SQLException

      Specified by:
        `isWrapperFor` in interface `Wrapper`
      Throws:
        `SQLException`
      See Also:
        `Wrapper.isWrapperFor(java.lang.Class)`

    - #### createStatement

          public Statement createStatement()
                                    throws SQLException

      Specified by:
        `createStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createStatement()`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String)`

    - #### prepareCall

          public CallableStatement prepareCall​(String sql)
                                        throws SQLException

      Specified by:
        `prepareCall` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareCall(java.lang.String)`

    - #### nativeSQL

          public String nativeSQL​(String sql)
                           throws SQLException

      Specified by:
        `nativeSQL` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.nativeSQL(java.lang.String)`

    - #### setAutoCommit

          public void setAutoCommit​(boolean autoCommit)
                             throws SQLException

      Specified by:
        `setAutoCommit` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setAutoCommit(boolean)`

    - #### getAutoCommit

          public boolean getAutoCommit()
                                throws SQLException

      Specified by:
        `getAutoCommit` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getAutoCommit()`

    - #### commit

          public void commit()
                      throws SQLException

      Specified by:
        `commit` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.commit()`

    - #### rollback

          public void rollback()
                        throws SQLException

      Specified by:
        `rollback` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.rollback()`

    - #### close

          public void close()
                     throws TorqueException

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Connection`
      Specified by:
        `close` in interface `TorqueConnection`
      Throws:
        `TorqueException`
      See Also:
        `Connection.close()`

    - #### isClosed

          public boolean isClosed()
                           throws SQLException

      Specified by:
        `isClosed` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.isClosed()`

    - #### getMetaData

          public DatabaseMetaData getMetaData()
                                       throws SQLException

      Specified by:
        `getMetaData` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getMetaData()`

    - #### setReadOnly

          public void setReadOnly​(boolean readOnly)
                           throws SQLException

      Specified by:
        `setReadOnly` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setReadOnly(boolean)`

    - #### isReadOnly

          public boolean isReadOnly()
                             throws SQLException

      Specified by:
        `isReadOnly` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.isReadOnly()`

    - #### setCatalog

          public void setCatalog​(String catalog)
                          throws SQLException

      Specified by:
        `setCatalog` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setCatalog(java.lang.String)`

    - #### getCatalog

          public String getCatalog()
                            throws SQLException

      Specified by:
        `getCatalog` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getCatalog()`

    - #### setTransactionIsolation

          public void setTransactionIsolation​(int level)
                                       throws SQLException

      Specified by:
        `setTransactionIsolation` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setTransactionIsolation(int)`

    - #### getTransactionIsolation

          public int getTransactionIsolation()
                                      throws SQLException

      Specified by:
        `getTransactionIsolation` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getTransactionIsolation()`

    - #### getWarnings

          public SQLWarning getWarnings()
                                 throws SQLException

      Specified by:
        `getWarnings` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getWarnings()`

    - #### clearWarnings

          public void clearWarnings()
                             throws SQLException

      Specified by:
        `clearWarnings` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.clearWarnings()`

    - #### createStatement

          public Statement createStatement​(int resultSetType,
                                           int resultSetConcurrency)
                                    throws SQLException

      Specified by:
        `createStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createStatement(int, int)`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql,
                                                    int resultSetType,
                                                    int resultSetConcurrency)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String, int, int)`

    - #### prepareCall

          public CallableStatement prepareCall​(String sql,
                                               int resultSetType,
                                               int resultSetConcurrency)
                                        throws SQLException

      Specified by:
        `prepareCall` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareCall(java.lang.String, int, int)`

    - #### getTypeMap

          public Map<String,​Class<?>> getTypeMap()
                                                throws SQLException

      Specified by:
        `getTypeMap` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getTypeMap()`

    - #### setTypeMap

          public void setTypeMap​(Map<String,​Class<?>> map)
                          throws SQLException

      Specified by:
        `setTypeMap` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setTypeMap(java.util.Map)`

    - #### setHoldability

          public void setHoldability​(int holdability)
                              throws SQLException

      Specified by:
        `setHoldability` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setHoldability(int)`

    - #### getHoldability

          public int getHoldability()
                             throws SQLException

      Specified by:
        `getHoldability` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getHoldability()`

    - #### setSavepoint

          public Savepoint setSavepoint()
                                 throws SQLException

      Specified by:
        `setSavepoint` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setSavepoint()`

    - #### setSavepoint

          public Savepoint setSavepoint​(String name)
                                 throws SQLException

      Specified by:
        `setSavepoint` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setSavepoint(java.lang.String)`

    - #### rollback

          public void rollback​(Savepoint savepoint)
                        throws SQLException

      Specified by:
        `rollback` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.rollback(java.sql.Savepoint)`

    - #### releaseSavepoint

          public void releaseSavepoint​(Savepoint savepoint)
                                throws SQLException

      Specified by:
        `releaseSavepoint` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.releaseSavepoint(java.sql.Savepoint)`

    - #### createStatement

          public Statement createStatement​(int resultSetType,
                                           int resultSetConcurrency,
                                           int resultSetHoldability)
                                    throws SQLException

      Specified by:
        `createStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createStatement(int, int, int)`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql,
                                                    int resultSetType,
                                                    int resultSetConcurrency,
                                                    int resultSetHoldability)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String, int, int, int)`

    - #### prepareCall

          public CallableStatement prepareCall​(String sql,
                                               int resultSetType,
                                               int resultSetConcurrency,
                                               int resultSetHoldability)
                                        throws SQLException

      Specified by:
        `prepareCall` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareCall(java.lang.String, int, int, int)`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql,
                                                    int autoGeneratedKeys)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String, int)`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql,
                                                    int[] columnIndexes)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String, int[])`

    - #### prepareStatement

          public PreparedStatement prepareStatement​(String sql,
                                                    String[] columnNames)
                                             throws SQLException

      Specified by:
        `prepareStatement` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.prepareStatement(java.lang.String, java.lang.String[])`

    - #### createClob

          public Clob createClob()
                          throws SQLException

      Specified by:
        `createClob` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createClob()`

    - #### createBlob

          public Blob createBlob()
                          throws SQLException

      Specified by:
        `createBlob` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createBlob()`

    - #### createNClob

          public NClob createNClob()
                            throws SQLException

      Specified by:
        `createNClob` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createNClob()`

    - #### createSQLXML

          public SQLXML createSQLXML()
                              throws SQLException

      Specified by:
        `createSQLXML` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createSQLXML()`

    - #### isValid

          public boolean isValid​(int timeout)
                          throws SQLException

      Specified by:
        `isValid` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.isValid(int)`

    - #### setClientInfo

          public void setClientInfo​(String name,
                                    String value)
                             throws SQLClientInfoException

      Specified by:
        `setClientInfo` in interface `Connection`
      Throws:
        `SQLClientInfoException`
      See Also:
        `Connection.setClientInfo(java.lang.String, java.lang.String)`

    - #### setClientInfo

          public void setClientInfo​(Properties properties)
                             throws SQLClientInfoException

      Specified by:
        `setClientInfo` in interface `Connection`
      Throws:
        `SQLClientInfoException`
      See Also:
        `Connection.setClientInfo(java.util.Properties)`

    - #### getClientInfo

          public String getClientInfo​(String name)
                               throws SQLException

      Specified by:
        `getClientInfo` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getClientInfo(java.lang.String)`

    - #### getClientInfo

          public Properties getClientInfo()
                                   throws SQLException

      Specified by:
        `getClientInfo` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getClientInfo()`

    - #### createArrayOf

          public Array createArrayOf​(String typeName,
                                     Object[] elements)
                              throws SQLException

      Specified by:
        `createArrayOf` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createArrayOf(java.lang.String, java.lang.Object[])`

    - #### createStruct

          public Struct createStruct​(String typeName,
                                     Object[] attributes)
                              throws SQLException

      Specified by:
        `createStruct` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.createStruct(java.lang.String, java.lang.Object[])`

    - #### setSchema

          public void setSchema​(String schema)
                         throws SQLException

      Specified by:
        `setSchema` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setSchema(java.lang.String)`

    - #### getSchema

          public String getSchema()
                           throws SQLException

      Specified by:
        `getSchema` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getSchema()`

    - #### abort

          public void abort​(Executor executor)
                     throws SQLException

      Specified by:
        `abort` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.abort(java.util.concurrent.Executor)`

    - #### setNetworkTimeout

          public void setNetworkTimeout​(Executor executor,
                                        int milliseconds)
                                 throws SQLException

      Specified by:
        `setNetworkTimeout` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.setNetworkTimeout(java.util.concurrent.Executor, int)`

    - #### getNetworkTimeout

          public int getNetworkTimeout()
                                throws SQLException

      Specified by:
        `getNetworkTimeout` in interface `Connection`
      Throws:
        `SQLException`
      See Also:
        `Connection.getNetworkTimeout()`