public class DelegatingStatement extends AbandonedTrace implements Statement
Statement
.
All of the methods from the Statement
interface simply check to see that the Statement
is active, and
call the corresponding method on the "delegate" provided in my constructor.
Extends AbandonedTrace to implement Statement tracking and logging of code which created the Statement. Tracking the Statement ensures that the Connection which created it can close any open Statement's on Connection close.
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Constructor and Description |
---|
DelegatingStatement(DelegatingConnection<?> connection,
Statement statement)
Create a wrapper for the Statement which traces this Statement to the Connection which created it and the code
which created it.
|
Modifier and Type | Method and Description |
---|---|
void |
activate() |
void |
addBatch(String sql) |
void |
cancel() |
protected void |
checkOpen() |
void |
clearBatch() |
void |
clearWarnings() |
void |
close()
Close this DelegatingStatement, and close any ResultSets that were not explicitly closed.
|
void |
closeOnCompletion() |
boolean |
execute(String sql) |
boolean |
execute(String sql,
int autoGeneratedKeys) |
boolean |
execute(String sql,
int[] columnIndexes) |
boolean |
execute(String sql,
String[] columnNames) |
int[] |
executeBatch() |
long[] |
executeLargeBatch() |
long |
executeLargeUpdate(String sql) |
long |
executeLargeUpdate(String sql,
int autoGeneratedKeys) |
long |
executeLargeUpdate(String sql,
int[] columnIndexes) |
long |
executeLargeUpdate(String sql,
String[] columnNames) |
ResultSet |
executeQuery(String sql) |
int |
executeUpdate(String sql) |
int |
executeUpdate(String sql,
int autoGeneratedKeys) |
int |
executeUpdate(String sql,
int[] columnIndexes) |
int |
executeUpdate(String sql,
String[] columnNames) |
protected void |
finalize() |
Connection |
getConnection() |
protected DelegatingConnection<?> |
getConnectionInternal() |
Statement |
getDelegate()
Returns my underlying
Statement . |
int |
getFetchDirection() |
int |
getFetchSize() |
ResultSet |
getGeneratedKeys() |
Statement |
getInnermostDelegate()
If my underlying
Statement is not a DelegatingStatement , returns it, otherwise recursively
invokes this method on my delegate. |
long |
getLargeMaxRows() |
long |
getLargeUpdateCount() |
int |
getMaxFieldSize() |
int |
getMaxRows() |
boolean |
getMoreResults() |
boolean |
getMoreResults(int current) |
int |
getQueryTimeout() |
ResultSet |
getResultSet() |
int |
getResultSetConcurrency() |
int |
getResultSetHoldability() |
int |
getResultSetType() |
int |
getUpdateCount() |
SQLWarning |
getWarnings() |
protected void |
handleException(SQLException e) |
boolean |
isClosed() |
protected boolean |
isClosedInternal() |
boolean |
isCloseOnCompletion() |
boolean |
isPoolable() |
boolean |
isWrapperFor(Class<?> iface) |
void |
passivate() |
protected void |
setClosedInternal(boolean closed) |
void |
setCursorName(String name) |
void |
setDelegate(Statement statement)
Sets my delegate.
|
void |
setEscapeProcessing(boolean enable) |
void |
setFetchDirection(int direction) |
void |
setFetchSize(int rows) |
void |
setLargeMaxRows(long max) |
void |
setMaxFieldSize(int max) |
void |
setMaxRows(int max) |
void |
setPoolable(boolean poolable) |
void |
setQueryTimeout(int seconds) |
String |
toString()
Returns a String representation of this object.
|
<T> T |
unwrap(Class<T> iface) |
addTrace, clearTrace, getLastUsed, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsed
public DelegatingStatement(DelegatingConnection<?> connection, Statement statement)
statement
- the Statement
to delegate all calls to.connection
- the DelegatingConnection
that created this statement.public void activate() throws SQLException
SQLException
- thrown by the delegating statement.public void addBatch(String sql) throws SQLException
addBatch
in interface Statement
SQLException
public void cancel() throws SQLException
cancel
in interface Statement
SQLException
protected void checkOpen() throws SQLException
SQLException
public void clearBatch() throws SQLException
clearBatch
in interface Statement
SQLException
public void clearWarnings() throws SQLException
clearWarnings
in interface Statement
SQLException
public void close() throws SQLException
close
in interface AutoCloseable
close
in interface Statement
SQLException
public void closeOnCompletion() throws SQLException
closeOnCompletion
in interface Statement
SQLException
public boolean execute(String sql) throws SQLException
execute
in interface Statement
SQLException
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException
execute
in interface Statement
SQLException
public boolean execute(String sql, int[] columnIndexes) throws SQLException
execute
in interface Statement
SQLException
public boolean execute(String sql, String[] columnNames) throws SQLException
execute
in interface Statement
SQLException
public int[] executeBatch() throws SQLException
executeBatch
in interface Statement
SQLException
public long[] executeLargeBatch() throws SQLException
executeLargeBatch
in interface Statement
SQLException
public long executeLargeUpdate(String sql) throws SQLException
executeLargeUpdate
in interface Statement
SQLException
public long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException
executeLargeUpdate
in interface Statement
SQLException
public long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException
executeLargeUpdate
in interface Statement
SQLException
public long executeLargeUpdate(String sql, String[] columnNames) throws SQLException
executeLargeUpdate
in interface Statement
SQLException
public ResultSet executeQuery(String sql) throws SQLException
executeQuery
in interface Statement
SQLException
public int executeUpdate(String sql) throws SQLException
executeUpdate
in interface Statement
SQLException
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
executeUpdate
in interface Statement
SQLException
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException
executeUpdate
in interface Statement
SQLException
public int executeUpdate(String sql, String[] columnNames) throws SQLException
executeUpdate
in interface Statement
SQLException
public Connection getConnection() throws SQLException
getConnection
in interface Statement
SQLException
protected DelegatingConnection<?> getConnectionInternal()
public Statement getDelegate()
Statement
.Statement
.getInnermostDelegate()
public int getFetchDirection() throws SQLException
getFetchDirection
in interface Statement
SQLException
public int getFetchSize() throws SQLException
getFetchSize
in interface Statement
SQLException
public ResultSet getGeneratedKeys() throws SQLException
getGeneratedKeys
in interface Statement
SQLException
public Statement getInnermostDelegate()
Statement
is not a DelegatingStatement
, returns it, otherwise recursively
invokes this method on my delegate.
Hence this method will return the first delegate that is not a DelegatingStatement
or null
when
no non-DelegatingStatement
delegate can be found by traversing this chain.
This method is useful when you may have nested DelegatingStatement
s, and you want to make sure to obtain
a "genuine" Statement
.
getDelegate()
public long getLargeMaxRows() throws SQLException
getLargeMaxRows
in interface Statement
SQLException
public long getLargeUpdateCount() throws SQLException
getLargeUpdateCount
in interface Statement
SQLException
public int getMaxFieldSize() throws SQLException
getMaxFieldSize
in interface Statement
SQLException
public int getMaxRows() throws SQLException
getMaxRows
in interface Statement
SQLException
public boolean getMoreResults() throws SQLException
getMoreResults
in interface Statement
SQLException
public boolean getMoreResults(int current) throws SQLException
getMoreResults
in interface Statement
SQLException
public int getQueryTimeout() throws SQLException
getQueryTimeout
in interface Statement
SQLException
public ResultSet getResultSet() throws SQLException
getResultSet
in interface Statement
SQLException
public int getResultSetConcurrency() throws SQLException
getResultSetConcurrency
in interface Statement
SQLException
public int getResultSetHoldability() throws SQLException
getResultSetHoldability
in interface Statement
SQLException
public int getResultSetType() throws SQLException
getResultSetType
in interface Statement
SQLException
public int getUpdateCount() throws SQLException
getUpdateCount
in interface Statement
SQLException
public SQLWarning getWarnings() throws SQLException
getWarnings
in interface Statement
SQLException
protected void handleException(SQLException e) throws SQLException
SQLException
public boolean isClosed() throws SQLException
isClosed
in interface Statement
SQLException
protected boolean isClosedInternal()
public boolean isCloseOnCompletion() throws SQLException
isCloseOnCompletion
in interface Statement
SQLException
public boolean isPoolable() throws SQLException
isPoolable
in interface Statement
SQLException
public boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
in interface Wrapper
SQLException
public void passivate() throws SQLException
SQLException
- thrown by the delegating statement.protected void setClosedInternal(boolean closed)
public void setCursorName(String name) throws SQLException
setCursorName
in interface Statement
SQLException
public void setDelegate(Statement statement)
statement
- my delegate.public void setEscapeProcessing(boolean enable) throws SQLException
setEscapeProcessing
in interface Statement
SQLException
public void setFetchDirection(int direction) throws SQLException
setFetchDirection
in interface Statement
SQLException
public void setFetchSize(int rows) throws SQLException
setFetchSize
in interface Statement
SQLException
public void setLargeMaxRows(long max) throws SQLException
setLargeMaxRows
in interface Statement
SQLException
public void setMaxFieldSize(int max) throws SQLException
setMaxFieldSize
in interface Statement
SQLException
public void setMaxRows(int max) throws SQLException
setMaxRows
in interface Statement
SQLException
public void setPoolable(boolean poolable) throws SQLException
setPoolable
in interface Statement
SQLException
public void setQueryTimeout(int seconds) throws SQLException
setQueryTimeout
in interface Statement
SQLException
public <T> T unwrap(Class<T> iface) throws SQLException
unwrap
in interface Wrapper
SQLException
Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.