Package org.apache.commons.dbutils

# Class ProxyFactory

java.lang.Object
org.apache.commons.dbutils.ProxyFactory

public class ProxyFactory extends Object
Creates proxy implementations of JDBC interfaces. This avoids incompatibilities between the JDBC 2 and JDBC 3 interfaces. This class is thread safe.

See Also:
  - `Proxy`
  - `InvocationHandler`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `ProxyFactory()`
  Protected constructor for ProxyFactory subclasses to use.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CallableStatement`
  `createCallableStatement(InvocationHandler handler)`
  Creates a new proxy `CallableStatement` object.
  `Connection`
  `createConnection(InvocationHandler handler)`
  Creates a new proxy `Connection` object.
  `Driver`
  `createDriver(InvocationHandler handler)`
  Creates a new proxy `Driver` object.
  `PreparedStatement`
  `createPreparedStatement(InvocationHandler handler)`
  Creates a new proxy `PreparedStatement` object.
  `ResultSet`
  `createResultSet(InvocationHandler handler)`
  Creates a new proxy `ResultSet` object.
  `ResultSetMetaData`
  `createResultSetMetaData(InvocationHandler handler)`
  Creates a new proxy `ResultSetMetaData` object.
  `Statement`
  `createStatement(InvocationHandler handler)`
  Creates a new proxy `Statement` object.
  `static ProxyFactory`
  `instance()`
  Returns the Singleton instance of this class.
  `<T> T`
  `newProxyInstance(Class<T> type, InvocationHandler handler)`
  Convenience method to generate a single-interface proxy using the handler's classloader

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

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

- ## Constructor Details

  - ### ProxyFactory

    protected ProxyFactory()
    Protected constructor for ProxyFactory subclasses to use.

- ## Method Details

  - ### instance

    public static ProxyFactory instance()
    Returns the Singleton instance of this class.
    Returns:
      singleton instance

  - ### createCallableStatement

    public CallableStatement createCallableStatement(InvocationHandler handler)
    Creates a new proxy `CallableStatement` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied CallableStatement

  - ### createConnection

    public Connection createConnection(InvocationHandler handler)
    Creates a new proxy `Connection` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied Connection

  - ### createDriver

    public Driver createDriver(InvocationHandler handler)
    Creates a new proxy `Driver` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied Driver

  - ### createPreparedStatement

    public PreparedStatement createPreparedStatement(InvocationHandler handler)
    Creates a new proxy `PreparedStatement` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied PreparedStatement

  - ### createResultSet

    public ResultSet createResultSet(InvocationHandler handler)
    Creates a new proxy `ResultSet` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied ResultSet

  - ### createResultSetMetaData

    public ResultSetMetaData createResultSetMetaData(InvocationHandler handler)
    Creates a new proxy `ResultSetMetaData` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied ResultSetMetaData

  - ### createStatement

    public Statement createStatement(InvocationHandler handler)
    Creates a new proxy `Statement` object.
    Parameters:
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied Statement

  - ### newProxyInstance

    public <T> T newProxyInstance(Class<T> type, InvocationHandler handler)
    Convenience method to generate a single-interface proxy using the handler's classloader
    Type Parameters:
      `T` - The type of object to proxy
    Parameters:
      `type` - The type of object to proxy
      `handler` - The handler that intercepts/overrides method calls.
    Returns:
      proxied object