Class DelegatingConnection<C extends Connection>

Type Parameters:
C - the Connection type
All Implemented Interfaces:
AutoCloseable, Connection, Wrapper, TrackedUse
Direct Known Subclasses:
PoolableConnection, PoolingConnection

public class DelegatingConnection<C extends Connection> 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.