|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Object
|
+--org.apache.commons.dbcp.AbandonedTrace
|
+--org.apache.commons.dbcp.DelegatingPreparedStatement
A base delegating implementation of PreparedStatement.
All of the methods from the PreparedStatement interface
simply check to see that the PreparedStatement 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.
| Field Summary | |
protected boolean |
_closed
|
protected DelegatingConnection |
_conn
The connection that created me. |
protected java.sql.PreparedStatement |
_stmt
My delegate. |
| Fields inherited from interface java.sql.Statement |
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
| Constructor Summary | |
DelegatingPreparedStatement(DelegatingConnection c,
java.sql.PreparedStatement s)
Create a wrapper for the Statement which traces this Statement to the Connection which created it and the code which created it. |
|
| Method Summary | |
protected void |
activate()
|
void |
addBatch()
|
void |
addBatch(java.lang.String sql)
|
void |
cancel()
|
protected void |
checkOpen()
|
void |
clearBatch()
|
void |
clearParameters()
|
void |
clearWarnings()
|
void |
close()
Close this DelegatingPreparedStatement, and close any ResultSets that were not explicitly closed. |
boolean |
execute()
|
boolean |
execute(java.lang.String sql)
|
int[] |
executeBatch()
|
java.sql.ResultSet |
executeQuery()
|
java.sql.ResultSet |
executeQuery(java.lang.String sql)
|
int |
executeUpdate()
|
int |
executeUpdate(java.lang.String sql)
|
java.sql.Connection |
getConnection()
|
java.sql.PreparedStatement |
getDelegate()
Returns my underlying PreparedStatement. |
int |
getFetchDirection()
|
int |
getFetchSize()
|
java.sql.PreparedStatement |
getInnermostDelegate()
If my underlying PreparedStatement is not a
DelegatingPreparedStatement, returns it,
otherwise recursively invokes this method on
my delegate. |
int |
getMaxFieldSize()
|
int |
getMaxRows()
|
java.sql.ResultSetMetaData |
getMetaData()
|
boolean |
getMoreResults()
|
int |
getQueryTimeout()
|
java.sql.ResultSet |
getResultSet()
|
int |
getResultSetConcurrency()
|
int |
getResultSetType()
|
int |
getUpdateCount()
|
java.sql.SQLWarning |
getWarnings()
|
protected void |
passivate()
|
void |
setArray(int i,
java.sql.Array x)
|
void |
setAsciiStream(int parameterIndex,
java.io.InputStream x,
int length)
|
void |
setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
|
void |
setBinaryStream(int parameterIndex,
java.io.InputStream x,
int length)
|
void |
setBlob(int i,
java.sql.Blob x)
|
void |
setBoolean(int parameterIndex,
boolean x)
|
void |
setByte(int parameterIndex,
byte x)
|
void |
setBytes(int parameterIndex,
byte[] x)
|
void |
setCharacterStream(int parameterIndex,
java.io.Reader reader,
int length)
|
void |
setClob(int i,
java.sql.Clob x)
|
void |
setCursorName(java.lang.String name)
|
void |
setDate(int parameterIndex,
java.sql.Date x)
|
void |
setDate(int parameterIndex,
java.sql.Date x,
java.util.Calendar cal)
|
void |
setDelegate(java.sql.PreparedStatement s)
Sets my delegate. |
void |
setDouble(int parameterIndex,
double x)
|
void |
setEscapeProcessing(boolean enable)
|
void |
setFetchDirection(int direction)
|
void |
setFetchSize(int rows)
|
void |
setFloat(int parameterIndex,
float x)
|
void |
setInt(int parameterIndex,
int x)
|
void |
setLong(int parameterIndex,
long x)
|
void |
setMaxFieldSize(int max)
|
void |
setMaxRows(int max)
|
void |
setNull(int parameterIndex,
int sqlType)
|
void |
setNull(int paramIndex,
int sqlType,
java.lang.String typeName)
|
void |
setObject(int parameterIndex,
java.lang.Object x)
|
void |
setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType)
|
void |
setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType,
int scale)
|
void |
setQueryTimeout(int seconds)
|
void |
setRef(int i,
java.sql.Ref x)
|
void |
setShort(int parameterIndex,
short x)
|
void |
setString(int parameterIndex,
java.lang.String x)
|
void |
setTime(int parameterIndex,
java.sql.Time x)
|
void |
setTime(int parameterIndex,
java.sql.Time x,
java.util.Calendar cal)
|
void |
setTimestamp(int parameterIndex,
java.sql.Timestamp x)
|
void |
setTimestamp(int parameterIndex,
java.sql.Timestamp x,
java.util.Calendar cal)
|
| Methods inherited from class org.apache.commons.dbcp.AbandonedTrace |
addTrace, clearTrace, getConfig, getLastUsed, getTrace, printStackTrace, removeTrace, setLastUsed, setLastUsed, setStackTrace |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.sql.PreparedStatement |
getParameterMetaData, setUnicodeStream, setURL |
| Methods inherited from interface java.sql.Statement |
execute, execute, execute, executeUpdate, executeUpdate, executeUpdate, getGeneratedKeys, getMoreResults, getResultSetHoldability |
| Field Detail |
protected boolean _closed
protected DelegatingConnection _conn
protected java.sql.PreparedStatement _stmt
| Constructor Detail |
public DelegatingPreparedStatement(DelegatingConnection c,
java.sql.PreparedStatement s)
s - the PreparedStatement to delegate all calls to.c - the DelegatingConnection that created this statement.| Method Detail |
protected void activate()
public void addBatch()
throws java.sql.SQLException
addBatch in interface java.sql.PreparedStatementjava.sql.SQLException
public void addBatch(java.lang.String sql)
throws java.sql.SQLException
addBatch in interface java.sql.Statementjava.sql.SQLException
public void cancel()
throws java.sql.SQLException
cancel in interface java.sql.Statementjava.sql.SQLException
protected void checkOpen()
throws java.sql.SQLException
java.sql.SQLException
public void clearBatch()
throws java.sql.SQLException
clearBatch in interface java.sql.Statementjava.sql.SQLException
public void clearParameters()
throws java.sql.SQLException
clearParameters in interface java.sql.PreparedStatementjava.sql.SQLException
public void clearWarnings()
throws java.sql.SQLException
clearWarnings in interface java.sql.Statementjava.sql.SQLException
public void close()
throws java.sql.SQLException
close in interface java.sql.Statementjava.sql.SQLException
public boolean execute()
throws java.sql.SQLException
execute in interface java.sql.PreparedStatementjava.sql.SQLException
public boolean execute(java.lang.String sql)
throws java.sql.SQLException
execute in interface java.sql.Statementjava.sql.SQLException
public int[] executeBatch()
throws java.sql.SQLException
executeBatch in interface java.sql.Statementjava.sql.SQLException
public java.sql.ResultSet executeQuery()
throws java.sql.SQLException
executeQuery in interface java.sql.PreparedStatementjava.sql.SQLException
public java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
executeQuery in interface java.sql.Statementjava.sql.SQLException
public int executeUpdate()
throws java.sql.SQLException
executeUpdate in interface java.sql.PreparedStatementjava.sql.SQLException
public int executeUpdate(java.lang.String sql)
throws java.sql.SQLException
executeUpdate in interface java.sql.Statementjava.sql.SQLException
public java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.PreparedStatement getDelegate()
PreparedStatement.
PreparedStatement.
public int getFetchDirection()
throws java.sql.SQLException
getFetchDirection in interface java.sql.Statementjava.sql.SQLException
public int getFetchSize()
throws java.sql.SQLException
getFetchSize in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.PreparedStatement getInnermostDelegate()
PreparedStatement is not a
DelegatingPreparedStatement, returns it,
otherwise recursively invokes this method on
my delegate.
Hence this method will return the first delegate that is not a DelegatingPreparedStatement, or null when no non-DelegatingPreparedStatement delegate can be found by transversing this chain.
This method is useful when you may have nested
DelegatingPreparedStatements, and you want to make
sure to obtain a "genuine" PreparedStatement.
public int getMaxFieldSize()
throws java.sql.SQLException
getMaxFieldSize in interface java.sql.Statementjava.sql.SQLException
public int getMaxRows()
throws java.sql.SQLException
getMaxRows in interface java.sql.Statementjava.sql.SQLException
public java.sql.ResultSetMetaData getMetaData()
throws java.sql.SQLException
getMetaData in interface java.sql.PreparedStatementjava.sql.SQLException
public boolean getMoreResults()
throws java.sql.SQLException
getMoreResults in interface java.sql.Statementjava.sql.SQLException
public int getQueryTimeout()
throws java.sql.SQLException
getQueryTimeout in interface java.sql.Statementjava.sql.SQLException
public java.sql.ResultSet getResultSet()
throws java.sql.SQLException
getResultSet in interface java.sql.Statementjava.sql.SQLException
public int getResultSetConcurrency()
throws java.sql.SQLException
getResultSetConcurrency in interface java.sql.Statementjava.sql.SQLException
public int getResultSetType()
throws java.sql.SQLException
getResultSetType in interface java.sql.Statementjava.sql.SQLException
public int getUpdateCount()
throws java.sql.SQLException
getUpdateCount in interface java.sql.Statementjava.sql.SQLException
public java.sql.SQLWarning getWarnings()
throws java.sql.SQLException
getWarnings in interface java.sql.Statementjava.sql.SQLException
protected void passivate()
throws java.sql.SQLException
java.sql.SQLException
public void setArray(int i,
java.sql.Array x)
throws java.sql.SQLException
setArray in interface java.sql.PreparedStatementjava.sql.SQLException
public void setAsciiStream(int parameterIndex,
java.io.InputStream x,
int length)
throws java.sql.SQLException
setAsciiStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBigDecimal(int parameterIndex,
java.math.BigDecimal x)
throws java.sql.SQLException
setBigDecimal in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBinaryStream(int parameterIndex,
java.io.InputStream x,
int length)
throws java.sql.SQLException
setBinaryStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBlob(int i,
java.sql.Blob x)
throws java.sql.SQLException
setBlob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBoolean(int parameterIndex,
boolean x)
throws java.sql.SQLException
setBoolean in interface java.sql.PreparedStatementjava.sql.SQLException
public void setByte(int parameterIndex,
byte x)
throws java.sql.SQLException
setByte in interface java.sql.PreparedStatementjava.sql.SQLException
public void setBytes(int parameterIndex,
byte[] x)
throws java.sql.SQLException
setBytes in interface java.sql.PreparedStatementjava.sql.SQLException
public void setCharacterStream(int parameterIndex,
java.io.Reader reader,
int length)
throws java.sql.SQLException
setCharacterStream in interface java.sql.PreparedStatementjava.sql.SQLException
public void setClob(int i,
java.sql.Clob x)
throws java.sql.SQLException
setClob in interface java.sql.PreparedStatementjava.sql.SQLException
public void setCursorName(java.lang.String name)
throws java.sql.SQLException
setCursorName in interface java.sql.Statementjava.sql.SQLException
public void setDate(int parameterIndex,
java.sql.Date x)
throws java.sql.SQLException
setDate in interface java.sql.PreparedStatementjava.sql.SQLException
public void setDate(int parameterIndex,
java.sql.Date x,
java.util.Calendar cal)
throws java.sql.SQLException
setDate in interface java.sql.PreparedStatementjava.sql.SQLExceptionpublic void setDelegate(java.sql.PreparedStatement s)
public void setDouble(int parameterIndex,
double x)
throws java.sql.SQLException
setDouble in interface java.sql.PreparedStatementjava.sql.SQLException
public void setEscapeProcessing(boolean enable)
throws java.sql.SQLException
setEscapeProcessing in interface java.sql.Statementjava.sql.SQLException
public void setFetchDirection(int direction)
throws java.sql.SQLException
setFetchDirection in interface java.sql.Statementjava.sql.SQLException
public void setFetchSize(int rows)
throws java.sql.SQLException
setFetchSize in interface java.sql.Statementjava.sql.SQLException
public void setFloat(int parameterIndex,
float x)
throws java.sql.SQLException
setFloat in interface java.sql.PreparedStatementjava.sql.SQLException
public void setInt(int parameterIndex,
int x)
throws java.sql.SQLException
setInt in interface java.sql.PreparedStatementjava.sql.SQLException
public void setLong(int parameterIndex,
long x)
throws java.sql.SQLException
setLong in interface java.sql.PreparedStatementjava.sql.SQLException
public void setMaxFieldSize(int max)
throws java.sql.SQLException
setMaxFieldSize in interface java.sql.Statementjava.sql.SQLException
public void setMaxRows(int max)
throws java.sql.SQLException
setMaxRows in interface java.sql.Statementjava.sql.SQLException
public void setNull(int parameterIndex,
int sqlType)
throws java.sql.SQLException
setNull in interface java.sql.PreparedStatementjava.sql.SQLException
public void setNull(int paramIndex,
int sqlType,
java.lang.String typeName)
throws java.sql.SQLException
setNull in interface java.sql.PreparedStatementjava.sql.SQLException
public void setObject(int parameterIndex,
java.lang.Object x)
throws java.sql.SQLException
setObject in interface java.sql.PreparedStatementjava.sql.SQLException
public void setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType)
throws java.sql.SQLException
setObject in interface java.sql.PreparedStatementjava.sql.SQLException
public void setObject(int parameterIndex,
java.lang.Object x,
int targetSqlType,
int scale)
throws java.sql.SQLException
setObject in interface java.sql.PreparedStatementjava.sql.SQLException
public void setQueryTimeout(int seconds)
throws java.sql.SQLException
setQueryTimeout in interface java.sql.Statementjava.sql.SQLException
public void setRef(int i,
java.sql.Ref x)
throws java.sql.SQLException
setRef in interface java.sql.PreparedStatementjava.sql.SQLException
public void setShort(int parameterIndex,
short x)
throws java.sql.SQLException
setShort in interface java.sql.PreparedStatementjava.sql.SQLException
public void setString(int parameterIndex,
java.lang.String x)
throws java.sql.SQLException
setString in interface java.sql.PreparedStatementjava.sql.SQLException
public void setTime(int parameterIndex,
java.sql.Time x)
throws java.sql.SQLException
setTime in interface java.sql.PreparedStatementjava.sql.SQLException
public void setTime(int parameterIndex,
java.sql.Time x,
java.util.Calendar cal)
throws java.sql.SQLException
setTime in interface java.sql.PreparedStatementjava.sql.SQLException
public void setTimestamp(int parameterIndex,
java.sql.Timestamp x)
throws java.sql.SQLException
setTimestamp in interface java.sql.PreparedStatementjava.sql.SQLException
public void setTimestamp(int parameterIndex,
java.sql.Timestamp x,
java.util.Calendar cal)
throws java.sql.SQLException
setTimestamp in interface java.sql.PreparedStatementjava.sql.SQLException
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||