Package org.apache.tomcat.jdbc.pool

## Class DisposableConnectionFacade

- java.lang.Object
- - org.apache.tomcat.jdbc.pool.JdbcInterceptor
  - - org.apache.tomcat.jdbc.pool.DisposableConnectionFacade

All Implemented Interfaces:
  `java.lang.reflect.InvocationHandler`

    public class DisposableConnectionFacade
    extends JdbcInterceptor

A DisposableConnectionFacade object is the top most interceptor that wraps an object of type `PooledConnection`. The DisposableConnectionFacade intercepts two methods:

- `Connection.close()` - returns the connection to the pool then breaks the link between cutoff and the next interceptor. May be called multiple times.
- `Object.toString()` - returns a custom string for this object

By default method comparisons is done on a String reference level, unless the `PoolConfiguration.setUseEquals(boolean)` has been called with a `true` argument.

### Field Summary

### Fields inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor

`CLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL`

### Constructor Summary

Constructors
`protected` `DisposableConnectionFacade​(JdbcInterceptor interceptor)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(java.lang.Object obj)`
`int` `hashCode()`
`java.lang.Object` `invoke​(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)` Gets invoked each time an operation on `Connection` is invoked.
`void` `reset​(ConnectionPool parent, PooledConnection con)` Gets called each time the connection is borrowed from the pool This means that if an interceptor holds a reference to the connection the interceptor can be reused for another connection.

### Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor

`compare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals`

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

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

### Constructor Detail

#### DisposableConnectionFacade

    protected DisposableConnectionFacade​(JdbcInterceptor interceptor)

### Method Detail

#### reset

    public void reset​(ConnectionPool parent,
                      PooledConnection con)

Description copied from class: `JdbcInterceptor`
Gets called each time the connection is borrowed from the pool This means that if an interceptor holds a reference to the connection the interceptor can be reused for another connection.
This method may be called with null as both arguments when we are closing down the connection.

Specified by:
  `reset` in class `JdbcInterceptor`
Parameters:
  `parent` - - the connection pool owning the connection
  `con` - - the pooled connection

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### equals

    public boolean equals​(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### invoke

    public java.lang.Object invoke​(java.lang.Object proxy,
                                   java.lang.reflect.Method method,
                                   java.lang.Object[] args)
                            throws java.lang.Throwable

Description copied from class: `JdbcInterceptor`
Gets invoked each time an operation on `Connection` is invoked.

Specified by:
  `invoke` in interface `java.lang.reflect.InvocationHandler`
Overrides:
  `invoke` in class `JdbcInterceptor`
Throws:
  `java.lang.Throwable`