Apache Tomcat 7.0.42

## org.apache.tomcat.jdbc.pool.interceptor
Class AbstractCreateStatementInterceptor

    java.lang.Object
      org.apache.tomcat.jdbc.pool.JdbcInterceptor
          org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor

All Implemented Interfaces:
  InvocationHandler

Direct Known Subclasses:
  AbstractQueryReport, QueryTimeoutInterceptor, StatementDecoratorInterceptor, StatementFinalizer

    public abstract class AbstractCreateStatementInterceptor

extends JdbcInterceptor

Abstraction interceptor. This component intercepts all calls to create some type of SQL statement. By extending this class, one can intercept queries and update statements by overriding the `createStatement(Object, Method, Object[], Object, long)` method.

Version:
  1.0
Author:
  Filip Hanik

Field Summary
`protected static String` `CREATE_STATEMENT`
`protected static int` `CREATE_STATEMENT_IDX`
`protected static String` `EXECUTE`
`protected static String` `EXECUTE_BATCH`
`protected static String` `EXECUTE_QUERY`
`protected static String[]` `EXECUTE_TYPES`
`protected static String` `EXECUTE_UPDATE`
`protected static String` `PREPARE_CALL`
`protected static int` `PREPARE_CALL_IDX`
`protected static String` `PREPARE_STATEMENT`
`protected static int` `PREPARE_STATEMENT_IDX`
`protected static int` `STATEMENT_TYPE_COUNT`
`protected static String[]` `STATEMENT_TYPES`

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
`AbstractCreateStatementInterceptor()`

Method Summary
`abstract void` `closeInvoked()` Method invoked when the operation `Connection.close()` is invoked.
`abstract Object` `createStatement(Object proxy, Method method, Object[] args, Object statement, long time)` This method will be invoked after a successful statement creation.
`Object` `invoke(Object proxy, Method method, Object[] args)` Gets invoked each time an operation on `Connection` is invoked.
`protected boolean` `isExecute(Method method, boolean process)` Returns true if the method that is being invoked matches one of the execute types.
`protected boolean` `isStatement(Method method, boolean process)` Returns true if the method that is being invoked matches one of the statement types.
`protected boolean` `process(String[] names, Method method, boolean process)`
`void` `reset(ConnectionPool parent, PooledConnection con)` no-op for this interceptor. no state is stored.

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, toString, wait, wait, wait`

Field Detail

### CREATE_STATEMENT

    protected static final String CREATE_STATEMENT

See Also:
  Constant Field Values

### CREATE_STATEMENT_IDX

    protected static final int CREATE_STATEMENT_IDX

See Also:
  Constant Field Values

### PREPARE_STATEMENT

    protected static final String PREPARE_STATEMENT

See Also:
  Constant Field Values

### PREPARE_STATEMENT_IDX

    protected static final int PREPARE_STATEMENT_IDX

See Also:
  Constant Field Values

### PREPARE_CALL

    protected static final String PREPARE_CALL

See Also:
  Constant Field Values

### PREPARE_CALL_IDX

    protected static final int PREPARE_CALL_IDX

See Also:
  Constant Field Values

### STATEMENT_TYPES

    protected static final String[] STATEMENT_TYPES

### STATEMENT_TYPE_COUNT

    protected static final int STATEMENT_TYPE_COUNT

### EXECUTE

    protected static final String EXECUTE

See Also:
  Constant Field Values

### EXECUTE_QUERY

    protected static final String EXECUTE_QUERY

See Also:
  Constant Field Values

### EXECUTE_UPDATE

    protected static final String EXECUTE_UPDATE

See Also:
  Constant Field Values

### EXECUTE_BATCH

    protected static final String EXECUTE_BATCH

See Also:
  Constant Field Values

### EXECUTE_TYPES

    protected static final String[] EXECUTE_TYPES

Constructor Detail

### AbstractCreateStatementInterceptor

    public AbstractCreateStatementInterceptor()

Method Detail

### invoke

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

  Gets invoked each time an operation on `Connection` is invoked.

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

### createStatement

    public abstract Object createStatement(Object proxy,
                                           Method method,
                                           Object[] args,
                                           Object statement,
                                           long time)

  This method will be invoked after a successful statement creation. This method can choose to return a wrapper around the statement or return the statement itself. If this method returns a wrapper then it should return a wrapper object that implements one of the following interfaces. `Statement`, `PreparedStatement` or `CallableStatement`

  Parameters:
    `proxy` - the actual proxy object
    `method` - the method that was called. It will be one of the methods defined in `STATEMENT_TYPES`
    `args` - the arguments to the method
    `statement` - the statement that the underlying connection created
  Returns:
    a `Statement` object

### closeInvoked

    public abstract void closeInvoked()

  Method invoked when the operation `Connection.close()` is invoked.

### isStatement

    protected boolean isStatement(Method method,
                                  boolean process)

  Returns true if the method that is being invoked matches one of the statement types.

  Parameters:
    `method` - the method being invoked on the proxy
    `process` - boolean result used for recursion
  Returns:
    returns true if the method name matched

### isExecute

    protected boolean isExecute(Method method,
                                boolean process)

  Returns true if the method that is being invoked matches one of the execute types.

  Parameters:
    `method` - the method being invoked on the proxy
    `process` - boolean result used for recursion
  Returns:
    returns true if the method name matched

### process

    protected boolean process(String[] names,
                              Method method,
                              boolean process)

### reset

    public void reset(ConnectionPool parent,
                      PooledConnection con)

  no-op for this interceptor. no state is stored.

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

Apache Tomcat 7.0.42

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