Package org.apache.tomcat.dbcp.dbcp2

## Class DelegatingConnection<C extends java.sql.Connection>

- java.lang.Object
- - org.apache.tomcat.dbcp.dbcp2.AbandonedTrace
  - - org.apache.tomcat.dbcp.dbcp2.DelegatingConnection<C>

- Type Parameters:
    `C` - the Connection type
  All Implemented Interfaces:
    `java.lang.AutoCloseable`, `java.sql.Connection`, `java.sql.Wrapper`, `TrackedUse`
  Direct Known Subclasses:
    `ManagedConnection`, `PoolableConnection`, `PoolingConnection`

      public class DelegatingConnection<C extends java.sql.Connection>
      extends AbandonedTrace
      implements java.sql.Connection

  A base delegating implementation of `Connection`.

  All of the methods from the `Connection` interface simply check to see that the `Connection` is active, and call the corresponding method on the "delegate" provided in my constructor.

  Extends AbandonedTrace to implement Connection tracking and logging of code which created the Connection. Tracking the Connection ensures that the AbandonedObjectPool can close this connection and recycle it if its pool of connections is nearing exhaustion and this connection's last usage is older than the removeAbandonedTimeout.

  Since:
    2.0

- - ### 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
    --- | ---
    `DelegatingConnection​(C connection)` | Creates a wrapper for the Connection which traces this Connection in the AbandonedObjectPool.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `abort​(java.util.concurrent.Executor executor)` |
    `protected void` | `activate()` |
    `protected void` | `checkOpen()` |
    `void` | `clearCachedState()` | Can be used to clear cached state when it is known that the underlying connection may have been accessed directly.
    `void` | `clearWarnings()` |
    `void` | `close()` | Closes the underlying connection, and close any Statements that were not explicitly closed.
    `protected void` | `closeInternal()` |
    `void` | `commit()` |
    `java.sql.Array` | `createArrayOf​(java.lang.String typeName, java.lang.Object[] elements)` |
    `java.sql.Blob` | `createBlob()` |
    `java.sql.Clob` | `createClob()` |
    `java.sql.NClob` | `createNClob()` |
    `java.sql.SQLXML` | `createSQLXML()` |
    `java.sql.Statement` | `createStatement()` |
    `java.sql.Statement` | `createStatement​(int resultSetType, int resultSetConcurrency)` |
    `java.sql.Statement` | `createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `java.sql.Struct` | `createStruct​(java.lang.String typeName, java.lang.Object[] attributes)` |
    `boolean` | `getAutoCommit()` |
    `boolean` | `getCacheState()` | Returns the state caching flag.
    `java.lang.String` | `getCatalog()` |
    `java.util.Properties` | `getClientInfo()` |
    `java.lang.String` | `getClientInfo​(java.lang.String name)` |
    `java.lang.Integer` | `getDefaultQueryTimeout()` | Deprecated. Use `getDefaultQueryTimeoutDuration()`.
    `java.time.Duration` | `getDefaultQueryTimeoutDuration()` | Gets the default query timeout that will be used for `Statement`s created from this connection.
    `C` | `getDelegate()` | Returns my underlying `Connection`.
    `protected C` | `getDelegateInternal()` | Gets the delegate connection.
    `int` | `getHoldability()` |
    `java.sql.Connection` | `getInnermostDelegate()` | If my underlying `Connection` is not a `DelegatingConnection`, returns it, otherwise recursively invokes this method on my delegate.
    `java.sql.Connection` | `getInnermostDelegateInternal()` | Although this method is public, it is part of the internal API and should not be used by clients.
    `java.sql.DatabaseMetaData` | `getMetaData()` |
    `int` | `getNetworkTimeout()` |
    `java.lang.String` | `getSchema()` |
    `int` | `getTransactionIsolation()` |
    `java.util.Map<java.lang.String,​java.lang.Class<?>>` | `getTypeMap()` |
    `java.sql.SQLWarning` | `getWarnings()` |
    `protected void` | `handleException​(java.sql.SQLException e)` | Handles the given exception by throwing it.
    `protected <T extends java.lang.Throwable> T` | `handleExceptionNoThrow​(T e)` | Handles the given `SQLException`.
    `boolean` | `innermostDelegateEquals​(java.sql.Connection c)` | Compares innermost delegate to the given connection.
    `boolean` | `isClosed()` |
    `protected boolean` | `isClosedInternal()` |
    `boolean` | `isReadOnly()` |
    `boolean` | `isValid​(int timeoutSeconds)` | Deprecated. Use `isValid(Duration)`.
    `boolean` | `isValid​(java.time.Duration timeout)` | Tests if the connection has not been closed and is still valid.
    `boolean` | `isWrapperFor​(java.lang.Class<?> iface)` |
    `java.lang.String` | `nativeSQL​(java.lang.String sql)` |
    `protected void` | `passivate()` |
    `java.sql.CallableStatement` | `prepareCall​(java.lang.String sql)` |
    `java.sql.CallableStatement` | `prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency)` |
    `java.sql.CallableStatement` | `prepareCall​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql, int autoGeneratedKeys)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql, int[] columnIndexes)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` |
    `java.sql.PreparedStatement` | `prepareStatement​(java.lang.String sql, java.lang.String[] columnNames)` |
    `void` | `releaseSavepoint​(java.sql.Savepoint savepoint)` |
    `void` | `rollback()` |
    `void` | `rollback​(java.sql.Savepoint savepoint)` |
    `void` | `setAutoCommit​(boolean autoCommit)` |
    `void` | `setCacheState​(boolean cacheState)` | Sets the state caching flag.
    `void` | `setCatalog​(java.lang.String catalog)` |
    `void` | `setClientInfo​(java.lang.String name, java.lang.String value)` |
    `void` | `setClientInfo​(java.util.Properties properties)` |
    `protected void` | `setClosedInternal​(boolean closed)` |
    `void` | `setDefaultQueryTimeout​(java.lang.Integer defaultQueryTimeoutSeconds)` | Deprecated. Use `setDefaultQueryTimeout(Duration)`.
    `void` | `setDefaultQueryTimeout​(java.time.Duration defaultQueryTimeoutDuration)` | Sets the default query timeout that will be used for `Statement`s created from this connection.
    `void` | `setDelegate​(C connection)` | Sets my delegate.
    `void` | `setHoldability​(int holdability)` |
    `void` | `setNetworkTimeout​(java.util.concurrent.Executor executor, int milliseconds)` |
    `void` | `setReadOnly​(boolean readOnly)` |
    `java.sql.Savepoint` | `setSavepoint()` |
    `java.sql.Savepoint` | `setSavepoint​(java.lang.String name)` |
    `void` | `setSchema​(java.lang.String schema)` |
    `void` | `setTransactionIsolation​(int level)` |
    `void` | `setTypeMap​(java.util.Map<java.lang.String,​java.lang.Class<?>> map)` |
    `java.lang.String` | `toString()` | Returns a string representation of the metadata associated with the innermost delegate connection.
    `<T> T` | `unwrap​(java.lang.Class<T> iface)` |

    - ### Methods inherited from class org.apache.tomcat.dbcp.dbcp2.AbandonedTrace

      `addTrace, clearTrace, getLastUsed, getLastUsedInstant, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsed, setLastUsed`

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

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

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

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

- - ### Constructor Detail

    - #### DelegatingConnection

          public DelegatingConnection​(C connection)

      Creates a wrapper for the Connection which traces this Connection in the AbandonedObjectPool.
      Parameters:
        `connection` - the `Connection` to delegate all calls to.

  - ### Method Detail

    - #### abort

          public void abort​(java.util.concurrent.Executor executor)
                     throws java.sql.SQLException

      Specified by:
        `abort` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### activate

          protected void activate()

    - #### checkOpen

          protected void checkOpen()
                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### clearCachedState

          public void clearCachedState()

      Can be used to clear cached state when it is known that the underlying connection may have been accessed directly.

    - #### clearWarnings

          public void clearWarnings()
                             throws java.sql.SQLException

      Specified by:
        `clearWarnings` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### close

          public void close()
                     throws java.sql.SQLException

      Closes the underlying connection, and close any Statements that were not explicitly closed. Sub-classes that override this method must:
      1. Call passivate()
      2. Call close (or the equivalent appropriate action) on the wrapped connection
      3. Set _closed to `false`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### closeInternal

          protected final void closeInternal()
                                      throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### commit

          public void commit()
                      throws java.sql.SQLException

      Specified by:
        `commit` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createArrayOf

          public java.sql.Array createArrayOf​(java.lang.String typeName,
                                              java.lang.Object[] elements)
                                       throws java.sql.SQLException

      Specified by:
        `createArrayOf` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createBlob

          public java.sql.Blob createBlob()
                                   throws java.sql.SQLException

      Specified by:
        `createBlob` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createClob

          public java.sql.Clob createClob()
                                   throws java.sql.SQLException

      Specified by:
        `createClob` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createNClob

          public java.sql.NClob createNClob()
                                     throws java.sql.SQLException

      Specified by:
        `createNClob` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createSQLXML

          public java.sql.SQLXML createSQLXML()
                                       throws java.sql.SQLException

      Specified by:
        `createSQLXML` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createStatement

          public java.sql.Statement createStatement()
                                             throws java.sql.SQLException

      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createStatement

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

      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createStatement

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

      Specified by:
        `createStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### createStruct

          public java.sql.Struct createStruct​(java.lang.String typeName,
                                              java.lang.Object[] attributes)
                                       throws java.sql.SQLException

      Specified by:
        `createStruct` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getAutoCommit

          public boolean getAutoCommit()
                                throws java.sql.SQLException

      Specified by:
        `getAutoCommit` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getCacheState

          public boolean getCacheState()

      Returns the state caching flag.
      Returns:
        the state caching flag

    - #### getCatalog

          public java.lang.String getCatalog()
                                      throws java.sql.SQLException

      Specified by:
        `getCatalog` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getClientInfo

          public java.util.Properties getClientInfo()
                                             throws java.sql.SQLException

      Specified by:
        `getClientInfo` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getClientInfo

          public java.lang.String getClientInfo​(java.lang.String name)
                                         throws java.sql.SQLException

      Specified by:
        `getClientInfo` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getDefaultQueryTimeout

          @Deprecated
          public java.lang.Integer getDefaultQueryTimeout()

      Deprecated.
      Use `getDefaultQueryTimeoutDuration()`.
      Gets the default query timeout that will be used for `Statement`s created from this connection. `null` means that the driver default will be used.
      Returns:
        query timeout limit in seconds; zero means there is no limit.

    - #### getDefaultQueryTimeoutDuration

          public java.time.Duration getDefaultQueryTimeoutDuration()

      Gets the default query timeout that will be used for `Statement`s created from this connection. `null` means that the driver default will be used.
      Returns:
        query timeout limit; zero means there is no limit.
      Since:
        2.10.0

    - #### getDelegate

          public C getDelegate()

      Returns my underlying `Connection`.
      Returns:
        my underlying `Connection`.

    - #### getDelegateInternal

          protected final C getDelegateInternal()

      Gets the delegate connection.
      Returns:
        the delegate connection.

    - #### getHoldability

          public int getHoldability()
                             throws java.sql.SQLException

      Specified by:
        `getHoldability` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getInnermostDelegate

          public java.sql.Connection getInnermostDelegate()

      If my underlying `Connection` is not a `DelegatingConnection`, returns it, otherwise recursively invokes this method on my delegate.

      Hence this method will return the first delegate that is not a `DelegatingConnection`, or `null` when no non-`DelegatingConnection` delegate can be found by traversing this chain.

      This method is useful when you may have nested `DelegatingConnection`s, and you want to make sure to obtain a "genuine" `Connection`.

      Returns:
        innermost delegate.

    - #### getInnermostDelegateInternal

          public final java.sql.Connection getInnermostDelegateInternal()

      Although this method is public, it is part of the internal API and should not be used by clients. The signature of this method may change at any time including in ways that break backwards compatibility.
      Returns:
        innermost delegate.

    - #### getMetaData

          public java.sql.DatabaseMetaData getMetaData()
                                                throws java.sql.SQLException

      Specified by:
        `getMetaData` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getNetworkTimeout

          public int getNetworkTimeout()
                                throws java.sql.SQLException

      Specified by:
        `getNetworkTimeout` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getSchema

          public java.lang.String getSchema()
                                     throws java.sql.SQLException

      Specified by:
        `getSchema` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getTransactionIsolation

          public int getTransactionIsolation()
                                      throws java.sql.SQLException

      Specified by:
        `getTransactionIsolation` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getTypeMap

          public java.util.Map<java.lang.String,​java.lang.Class<?>> getTypeMap()
                                                                              throws java.sql.SQLException

      Specified by:
        `getTypeMap` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### getWarnings

          public java.sql.SQLWarning getWarnings()
                                          throws java.sql.SQLException

      Specified by:
        `getWarnings` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### handleException

          protected void handleException​(java.sql.SQLException e)
                                  throws java.sql.SQLException

      Handles the given exception by throwing it.
      Parameters:
        `e` - the exception to throw.
      Throws:
        `java.sql.SQLException` - the exception to throw.

    - #### handleExceptionNoThrow

          protected <T extends java.lang.Throwable> T handleExceptionNoThrow​(T e)

      Handles the given `SQLException`.
      Type Parameters:
        `T` - The throwable type.
      Parameters:
        `e` - The SQLException
      Returns:
        the given `SQLException`
      Since:
        2.7.0

    - #### innermostDelegateEquals

          public boolean innermostDelegateEquals​(java.sql.Connection c)

      Compares innermost delegate to the given connection.
      Parameters:
        `c` - connection to compare innermost delegate with
      Returns:
        true if innermost delegate equals `c`

    - #### isClosed

          public boolean isClosed()
                           throws java.sql.SQLException

      Specified by:
        `isClosed` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### isClosedInternal

          protected boolean isClosedInternal()

    - #### isReadOnly

          public boolean isReadOnly()
                             throws java.sql.SQLException

      Specified by:
        `isReadOnly` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### isValid

          public boolean isValid​(java.time.Duration timeout)
                          throws java.sql.SQLException

      Tests if the connection has not been closed and is still valid.
      Parameters:
        `timeout` - The duration to wait for the database operation used to validate the connection to complete.
      Returns:
        See `Connection.isValid(int)`.
      Throws:
        `java.sql.SQLException` - See `Connection.isValid(int)`.
      Since:
        2.10.0
      See Also:
        `Connection.isValid(int)`

    - #### isValid

          @Deprecated
          public boolean isValid​(int timeoutSeconds)
                          throws java.sql.SQLException

      Deprecated.
      Use `isValid(Duration)`.
      Specified by:
        `isValid` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### isWrapperFor

          public boolean isWrapperFor​(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

    - #### nativeSQL

          public java.lang.String nativeSQL​(java.lang.String sql)
                                     throws java.sql.SQLException

      Specified by:
        `nativeSQL` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### passivate

          protected void passivate()
                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### prepareCall

          public java.sql.CallableStatement prepareCall​(java.lang.String sql)
                                                 throws java.sql.SQLException

      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareCall

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

      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareCall

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

      Specified by:
        `prepareCall` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

          public java.sql.PreparedStatement prepareStatement​(java.lang.String sql)
                                                      throws java.sql.SQLException

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

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

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

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

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

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

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

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

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### prepareStatement

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

      Specified by:
        `prepareStatement` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### releaseSavepoint

          public void releaseSavepoint​(java.sql.Savepoint savepoint)
                                throws java.sql.SQLException

      Specified by:
        `releaseSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### rollback

          public void rollback()
                        throws java.sql.SQLException

      Specified by:
        `rollback` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### rollback

          public void rollback​(java.sql.Savepoint savepoint)
                        throws java.sql.SQLException

      Specified by:
        `rollback` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setAutoCommit

          public void setAutoCommit​(boolean autoCommit)
                             throws java.sql.SQLException

      Specified by:
        `setAutoCommit` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setCacheState

          public void setCacheState​(boolean cacheState)

      Sets the state caching flag.
      Parameters:
        `cacheState` - The new value for the state caching flag

    - #### setCatalog

          public void setCatalog​(java.lang.String catalog)
                          throws java.sql.SQLException

      Specified by:
        `setCatalog` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setClientInfo

          public void setClientInfo​(java.util.Properties properties)
                             throws java.sql.SQLClientInfoException

      Specified by:
        `setClientInfo` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLClientInfoException`

    - #### setClientInfo

          public void setClientInfo​(java.lang.String name,
                                    java.lang.String value)
                             throws java.sql.SQLClientInfoException

      Specified by:
        `setClientInfo` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLClientInfoException`

    - #### setClosedInternal

          protected void setClosedInternal​(boolean closed)

    - #### setDefaultQueryTimeout

          public void setDefaultQueryTimeout​(java.time.Duration defaultQueryTimeoutDuration)

      Sets the default query timeout that will be used for `Statement`s created from this connection. `null` means that the driver default will be used.
      Parameters:
        `defaultQueryTimeoutDuration` - the new query timeout limit Duration; zero means there is no limit.
      Since:
        2.10.0

    - #### setDefaultQueryTimeout

          @Deprecated
          public void setDefaultQueryTimeout​(java.lang.Integer defaultQueryTimeoutSeconds)

      Deprecated.
      Use `setDefaultQueryTimeout(Duration)`.
      Sets the default query timeout that will be used for `Statement`s created from this connection. `null` means that the driver default will be used.
      Parameters:
        `defaultQueryTimeoutSeconds` - the new query timeout limit in seconds; zero means there is no limit.

    - #### setDelegate

          public void setDelegate​(C connection)

      Sets my delegate.
      Parameters:
        `connection` - my delegate.

    - #### setHoldability

          public void setHoldability​(int holdability)
                              throws java.sql.SQLException

      Specified by:
        `setHoldability` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setNetworkTimeout

          public void setNetworkTimeout​(java.util.concurrent.Executor executor,
                                        int milliseconds)
                                 throws java.sql.SQLException

      Specified by:
        `setNetworkTimeout` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setReadOnly

          public void setReadOnly​(boolean readOnly)
                           throws java.sql.SQLException

      Specified by:
        `setReadOnly` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setSavepoint

          public java.sql.Savepoint setSavepoint()
                                          throws java.sql.SQLException

      Specified by:
        `setSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setSavepoint

          public java.sql.Savepoint setSavepoint​(java.lang.String name)
                                          throws java.sql.SQLException

      Specified by:
        `setSavepoint` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setSchema

          public void setSchema​(java.lang.String schema)
                         throws java.sql.SQLException

      Specified by:
        `setSchema` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setTransactionIsolation

          public void setTransactionIsolation​(int level)
                                       throws java.sql.SQLException

      Specified by:
        `setTransactionIsolation` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### setTypeMap

          public void setTypeMap​(java.util.Map<java.lang.String,​java.lang.Class<?>> map)
                          throws java.sql.SQLException

      Specified by:
        `setTypeMap` in interface `java.sql.Connection`
      Throws:
        `java.sql.SQLException`

    - #### toString

          public java.lang.String toString()

      Returns a string representation of the metadata associated with the innermost delegate connection.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### unwrap

          public <T> T unwrap​(java.lang.Class<T> iface)
                       throws java.sql.SQLException

      Specified by:
        `unwrap` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`