## org.firebirdsql.pool
Class StatementHandler

    java.lang.Object
      org.firebirdsql.pool.StatementHandler

All Implemented Interfaces:
  InvocationHandler

    public class StatementHandler

extends Object
implements InvocationHandler

Dynamic proxy handler that together with `PooledConnectionHandler` ensure that statements will be closed before connection is returned to the pool.

Author:
  Roman Rokytskyy

Constructor Summary
`StatementHandler(org.firebirdsql.pool.PooledConnectionHandler connectionHandler, Statement wrappedObject)` Create instance of this class for the specified connection handler and

Method Summary
`Statement` `getProxy()` Get dynamic proxy instant wrapping the statement.
`Statement` `getWrappedObject()` Get original statement that was wrapped.
`Object` `invoke(Object proxy, Method method, Object[] args)` Invoke a specified method with the specified arguments on the specified proxy.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StatementHandler

    public StatementHandler(org.firebirdsql.pool.PooledConnectionHandler connectionHandler,
                            Statement wrappedObject)

  Create instance of this class for the specified connection handler and

  Parameters:
    `connectionHandler` - instance of `PooledConnectionHandler` that is responsible for a connection that created a statement to wrap.
    `wrappedObject` - instance of `Statement` to wrap.

Method Detail

### getProxy

    public Statement getProxy()

  Get dynamic proxy instant wrapping the statement.

  Returns:
    instance of `Statement`.

### getWrappedObject

    public Statement getWrappedObject()

  Get original statement that was wrapped.

  Returns:
    instance of `Statement`.

### invoke

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

  Invoke a specified method with the specified arguments on the specified proxy. This method checks if `Statement.close()` is called and de-registers the statement from automatic close on connection close.

  Specified by:
    `invoke` in interface `InvocationHandler`
  Parameters:
    `proxy` - proxy, on which the method was called.
    `method` - method that was invoked.
    `args` - arguments that were passed to the method.
  Returns:
    object that was returned by the method.
  Throws:
    `Throwable` - throwable that was thrown during method processing.

Copyright © 2001-2010. All Rights Reserved.