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,- StatementFacade,- StatementFinalizer
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.- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final Constructor<?>[]the constructors that are used to create statement proxiesprotected static final Stringprotected static final intprotected static final Stringprotected static final Stringprotected static final Stringprotected static final String[]protected static final Stringprotected static final Stringprotected static final intprotected static final Stringprotected static final intprotected static final intprotected static final String[]Fields inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptorCLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionabstract voidMethod invoked when the operationConnection.close()is invoked.abstract ObjectcreateStatement(Object proxy, Method method, Object[] args, Object statement, long time) This method will be invoked after a successful statement creation.protected Constructor<?>getConstructor(int idx, Class<?> clazz) Creates a constructor for a proxy class, if one doesn't already existGets invoked each time an operation onConnectionis invoked.protected booleanReturns true if the method that is being invoked matches one of the execute types.protected booleanisStatement(Method method, boolean process) Returns true if the method that is being invoked matches one of the statement types.protected booleanvoidreset(ConnectionPool parent, PooledConnection con) no-op for this interceptor. no state is stored.Methods inherited from class org.apache.tomcat.jdbc.pool.JdbcInterceptorcompare, compare, disconnected, getNext, getProperties, isUseEquals, poolClosed, poolStarted, setNext, setProperties, setUseEquals
- 
Field Details- 
CREATE_STATEMENT- See Also:
 
- 
CREATE_STATEMENT_IDXprotected static final int CREATE_STATEMENT_IDX- See Also:
 
- 
PREPARE_STATEMENT- See Also:
 
- 
PREPARE_STATEMENT_IDXprotected static final int PREPARE_STATEMENT_IDX- See Also:
 
- 
PREPARE_CALL- See Also:
 
- 
PREPARE_CALL_IDXprotected static final int PREPARE_CALL_IDX- See Also:
 
- 
STATEMENT_TYPES
- 
STATEMENT_TYPE_COUNTprotected static final int STATEMENT_TYPE_COUNT
- 
EXECUTE- See Also:
 
- 
EXECUTE_QUERY- See Also:
 
- 
EXECUTE_UPDATE- See Also:
 
- 
EXECUTE_BATCH- See Also:
 
- 
EXECUTE_TYPES
- 
constructorsthe constructors that are used to create statement proxies
 
- 
- 
Constructor Details- 
AbstractCreateStatementInterceptorpublic AbstractCreateStatementInterceptor()
 
- 
- 
Method Details- 
invokeDescription copied from class:JdbcInterceptorGets invoked each time an operation onConnectionis invoked.- Specified by:
- invokein interface- InvocationHandler
- Overrides:
- invokein class- JdbcInterceptor
- Throws:
- Throwable
 
- 
getConstructorCreates a constructor for a proxy class, if one doesn't already exist- Parameters:
- idx- - the index of the constructor
- clazz- - the interface that the proxy will implement
- Returns:
- - returns a constructor used to create new instances
- Throws:
- NoSuchMethodException- Constructor not found
 
- 
createStatementpublic 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,PreparedStatementorCallableStatement- 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
- time- Elapsed time
- Returns:
- a Statementobject
 
- 
closeInvokedpublic abstract void closeInvoked()Method invoked when the operationConnection.close()is invoked.
- 
isStatementReturns 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
 
- 
isExecuteReturns 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
- 
resetno-op for this interceptor. no state is stored.- Specified by:
- resetin class- JdbcInterceptor
- Parameters:
- parent- - the connection pool owning the connection
- con- - the pooled connection
 
 
-