Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tomcat.jdbc.pool
Class ProxyConnection

    java.lang.Object
      org.apache.tomcat.jdbc.pool.JdbcInterceptor
          org.apache.tomcat.jdbc.pool.ProxyConnection

All Implemented Interfaces:
  InvocationHandler

    public class ProxyConnection

extends JdbcInterceptor

A ProxyConnection object is the bottom most interceptor that wraps an object of type `PooledConnection`. The ProxyConnection intercepts three methods:

- `Connection.close()` - returns the connection to the pool. May be called multiple times.
- `Object.toString()` - returns a custom string for this object
- `PooledConnection.getConnection()` - returns the underlying connection

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

Author:
  Filip Hanik

Field Summary
`protected PooledConnection` | `connection`
`protected ConnectionPool` | `pool`

Fields inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptor
`CLOSE_VAL, GETCONNECTION_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL`

Constructor Summary
`protected` | `ProxyConnection(ConnectionPool parent, PooledConnection con, boolean useEquals)`

Method Summary
`PooledConnection` | `getConnection()`
`PooledConnection` | `getDelegateConnection()`
`ConnectionPool` | `getParentPool()`
`ConnectionPool` | `getPool()`
`Object` | `invoke(Object proxy, Method method, Object[] args)` Gets invoked each time an operation on `Connection` is invoked.
`boolean` | `isClosed()`
`boolean` | `isWrapperFor(Class<?> iface)`
`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.
`void` | `setConnection(PooledConnection connection)`
`void` | `setPool(ConnectionPool pool)`
`String` | `toString()`
`Object` | `unwrap(Class<?> iface)`

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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### connection

    protected PooledConnection connection

### pool

    protected ConnectionPool pool

Constructor Detail

### ProxyConnection

    protected ProxyConnection(ConnectionPool parent,
                              PooledConnection con,
                              boolean useEquals)
                       throws SQLException

Throws:
  `SQLException`

Method Detail

### getConnection

    public PooledConnection getConnection()

### setConnection

    public void setConnection(PooledConnection connection)

### getPool

    public ConnectionPool getPool()

### setPool

    public void setPool(ConnectionPool pool)

### 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

### isWrapperFor

    public boolean isWrapperFor(Class<?> iface)
                         throws SQLException

  Throws:
    `SQLException`

### unwrap

    public Object unwrap(Class<?> iface)
                  throws SQLException

  Throws:
    `SQLException`

### invoke

    public Object invoke(Object proxy,
                         Method method,
                         Object[] args)
                  throws Throwable

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

  Specified by:
    `invoke` in interface `InvocationHandler`
  Overrides:
    `invoke` in class `JdbcInterceptor`
  Throws:
    `Throwable`

### isClosed

    public boolean isClosed()

### getDelegateConnection

    public PooledConnection getDelegateConnection()

### getParentPool

    public ConnectionPool getParentPool()

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.