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 January 16 2006.