org.apache.commons.dbcp

Class DelegatingConnection

Implemented Interfaces:
Connection
Known Direct Subclasses:
PoolableConnection, PoolingConnection

public class DelegatingConnection
extends AbandonedTrace
implements 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.

Version:
$Revision: 1.19 $ $Date: 2004/03/06 13:35:31 $

Authors:
Rodney Waldhoff
Glenn L. Nielsen
James House
Dirk Verbeeck

Constructor Summary

DelegatingConnection(Connection c)
Create a wrapper for the Connectin which traces this Connection in the AbandonedObjectPool.
DelegatingConnection(Connection c, AbandonedConfig config)
Deprecated. AbandonedConfig is now deprecated.

Method Summary

void
clearWarnings()
void
close()
Closes the underlying connection, and close any Statements that were not explicitly closed.
void
commit()
Statement
createStatement()
Statement
createStatement(int resultSetType, int resultSetConcurrency)
Statement
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
boolean
equals(Object obj)
boolean
getAutoCommit()
String
getCatalog()
Connection
getDelegate()
Returns my underlying Connection.
int
getHoldability()
Connection
getInnermostDelegate()
If my underlying Connection is not a DelegatingConnection, returns it, otherwise recursively invokes this method on my delegate.
DatabaseMetaData
getMetaData()
int
getTransactionIsolation()
Map
getTypeMap()
SQLWarning
getWarnings()
int
hashCode()
boolean
isClosed()
boolean
isReadOnly()
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, columnIndexes[] )
PreparedStatement
prepareStatement(String sql, columnNames[] )
PreparedStatement
prepareStatement(String sql, int autoGeneratedKeys)
PreparedStatement
prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
PreparedStatement
prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
void
releaseSavepoint(Savepoint savepoint)
void
rollback()
void
rollback(Savepoint savepoint)
void
setAutoCommit(boolean autoCommit)
void
setCatalog(String catalog)
void
setDelegate(Connection c)
Sets my delegate.
void
setHoldability(int holdability)
void
setReadOnly(boolean readOnly)
Savepoint
setSavepoint()
Savepoint
setSavepoint(String name)
void
setTransactionIsolation(int level)
void
setTypeMap(Map map)

Methods inherited from class org.apache.commons.dbcp.AbandonedTrace

printStackTrace

Constructor Details

DelegatingConnection

public DelegatingConnection(Connection c)
Create a wrapper for the Connectin which traces this Connection in the AbandonedObjectPool.

Parameters:
c - the Connection to delegate all calls to.


DelegatingConnection

public DelegatingConnection(Connection c,
                            AbandonedConfig config)

Deprecated. AbandonedConfig is now deprecated.

Create a wrapper for the Connection which traces the Statements created so that any unclosed Statements can be closed when this Connection is closed.

Parameters:

Method Details

clearWarnings

public void clearWarnings()
            throws SQLException


close

public void close()
            throws SQLException
Closes the underlying connection, and close any Statements that were not explicitly closed.


commit

public void commit()
            throws SQLException


createStatement

public Statement createStatement()
            throws SQLException


createStatement

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


createStatement

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


equals

public boolean equals(Object obj)


getAutoCommit

public boolean getAutoCommit()
            throws SQLException


getCatalog

public String getCatalog()
            throws SQLException


getDelegate

public Connection getDelegate()
Returns my underlying Connection.

Returns:
my underlying Connection.


getHoldability

public int getHoldability()
            throws SQLException


getInnermostDelegate

public 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 transversing this chain.

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


getMetaData

public DatabaseMetaData getMetaData()
            throws SQLException


getTransactionIsolation

public int getTransactionIsolation()
            throws SQLException


getTypeMap

public Map getTypeMap()
            throws SQLException


getWarnings

public SQLWarning getWarnings()
            throws SQLException


hashCode

public int hashCode()


isClosed

public boolean isClosed()
            throws SQLException


isReadOnly

public boolean isReadOnly()
            throws SQLException


nativeSQL

public String nativeSQL(String sql)
            throws SQLException


prepareCall

public CallableStatement prepareCall(String sql)
            throws SQLException


prepareCall

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


prepareCall

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


prepareStatement

public PreparedStatement prepareStatement(String sql)
            throws SQLException


prepareStatement

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


prepareStatement

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


prepareStatement

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


prepareStatement

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


prepareStatement

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


releaseSavepoint

public void releaseSavepoint(Savepoint savepoint)
            throws SQLException


rollback

public void rollback()
            throws SQLException


rollback

public void rollback(Savepoint savepoint)
            throws SQLException


setAutoCommit

public void setAutoCommit(boolean autoCommit)
            throws SQLException


setCatalog

public void setCatalog(String catalog)
            throws SQLException


setDelegate

public void setDelegate(Connection c)
Sets my delegate.


setHoldability

public void setHoldability(int holdability)
            throws SQLException


setReadOnly

public void setReadOnly(boolean readOnly)
            throws SQLException


setSavepoint

public Savepoint setSavepoint()
            throws SQLException


setSavepoint

public Savepoint setSavepoint(String name)
            throws SQLException


setTransactionIsolation

public void setTransactionIsolation(int level)
            throws SQLException


setTypeMap

public void setTypeMap(Map map)
            throws SQLException


Copyright © 2001-2003 Apache Software Foundation. Documenation generated May 22 2005.