Package org.apache.tomcat.dbcp.dbcp2
Class DelegatingPreparedStatement
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.AbandonedTrace
-
- org.apache.tomcat.dbcp.dbcp2.DelegatingStatement
-
- org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.sql.PreparedStatement
,java.sql.Statement
,java.sql.Wrapper
,TrackedUse
- Direct Known Subclasses:
DelegatingCallableStatement
,PoolablePreparedStatement
public class DelegatingPreparedStatement extends DelegatingStatement implements java.sql.PreparedStatement
A base delegating implementation ofPreparedStatement
.All of the methods from the
PreparedStatement
interface simply check to see that thePreparedStatement
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.
- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description DelegatingPreparedStatement(DelegatingConnection<?> connection, java.sql.PreparedStatement statement)
Create a wrapper for the Statement which traces this Statement to the Connection which created it and the code which created it.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addBatch()
void
clearParameters()
boolean
execute()
long
executeLargeUpdate()
java.sql.ResultSet
executeQuery()
int
executeUpdate()
java.sql.ResultSetMetaData
getMetaData()
java.sql.ParameterMetaData
getParameterMetaData()
void
setArray(int i, java.sql.Array x)
void
setAsciiStream(int parameterIndex, java.io.InputStream inputStream)
void
setAsciiStream(int parameterIndex, java.io.InputStream x, int length)
void
setAsciiStream(int parameterIndex, java.io.InputStream inputStream, long length)
void
setBigDecimal(int parameterIndex, java.math.BigDecimal x)
void
setBinaryStream(int parameterIndex, java.io.InputStream inputStream)
void
setBinaryStream(int parameterIndex, java.io.InputStream x, int length)
void
setBinaryStream(int parameterIndex, java.io.InputStream inputStream, long length)
void
setBlob(int parameterIndex, java.io.InputStream inputStream)
void
setBlob(int parameterIndex, java.io.InputStream inputStream, long 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)
void
setCharacterStream(int parameterIndex, java.io.Reader reader, int length)
void
setCharacterStream(int parameterIndex, java.io.Reader reader, long length)
void
setClob(int parameterIndex, java.io.Reader reader)
void
setClob(int parameterIndex, java.io.Reader reader, long length)
void
setClob(int i, java.sql.Clob x)
void
setDate(int parameterIndex, java.sql.Date x)
void
setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal)
void
setDouble(int parameterIndex, double x)
void
setFloat(int parameterIndex, float x)
void
setInt(int parameterIndex, int x)
void
setLong(int parameterIndex, long x)
void
setNCharacterStream(int parameterIndex, java.io.Reader reader)
void
setNCharacterStream(int parameterIndex, java.io.Reader value, long length)
void
setNClob(int parameterIndex, java.io.Reader reader)
void
setNClob(int parameterIndex, java.io.Reader reader, long length)
void
setNClob(int parameterIndex, java.sql.NClob value)
void
setNString(int parameterIndex, java.lang.String value)
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
setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType)
void
setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength)
void
setRef(int i, java.sql.Ref x)
void
setRowId(int parameterIndex, java.sql.RowId value)
void
setShort(int parameterIndex, short x)
void
setSQLXML(int parameterIndex, java.sql.SQLXML value)
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)
void
setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)
Deprecated.Use setAsciiStream(), setCharacterStream() or setNCharacterStream()void
setURL(int parameterIndex, java.net.URL x)
java.lang.String
toString()
Returns a String representation of this object.-
Methods inherited from class org.apache.tomcat.dbcp.dbcp2.DelegatingStatement
activate, addBatch, cancel, checkOpen, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, finalize, getConnection, getConnectionInternal, getDelegate, getFetchDirection, getFetchSize, getGeneratedKeys, getInnermostDelegate, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, handleException, isClosed, isClosedInternal, isCloseOnCompletion, isPoolable, isWrapperFor, passivate, setClosedInternal, setCursorName, setDelegate, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, unwrap
-
Methods inherited from class org.apache.tomcat.dbcp.dbcp2.AbandonedTrace
addTrace, clearTrace, getLastUsed, getLastUsedInstant, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsed, setLastUsed
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
-
-
-
-
Constructor Detail
-
DelegatingPreparedStatement
public DelegatingPreparedStatement(DelegatingConnection<?> connection, java.sql.PreparedStatement statement)
Create a wrapper for the Statement which traces this Statement to the Connection which created it and the code which created it.- Parameters:
statement
- thePreparedStatement
to delegate all calls to.connection
- theDelegatingConnection
that created this statement.
-
-
Method Detail
-
addBatch
public void addBatch() throws java.sql.SQLException
- Specified by:
addBatch
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
clearParameters
public void clearParameters() throws java.sql.SQLException
- Specified by:
clearParameters
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
execute
public boolean execute() throws java.sql.SQLException
- Specified by:
execute
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
executeLargeUpdate
public long executeLargeUpdate() throws java.sql.SQLException
- Specified by:
executeLargeUpdate
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
- Since:
- 2.5.0
-
executeQuery
public java.sql.ResultSet executeQuery() throws java.sql.SQLException
- Specified by:
executeQuery
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
executeUpdate
public int executeUpdate() throws java.sql.SQLException
- Specified by:
executeUpdate
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
getMetaData
public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException
- Specified by:
getMetaData
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
getParameterMetaData
public java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException
- Specified by:
getParameterMetaData
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setArray
public void setArray(int i, java.sql.Array x) throws java.sql.SQLException
- Specified by:
setArray
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream inputStream) throws java.sql.SQLException
- Specified by:
setAsciiStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLException
- Specified by:
setAsciiStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLException
- Specified by:
setAsciiStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBigDecimal
public void setBigDecimal(int parameterIndex, java.math.BigDecimal x) throws java.sql.SQLException
- Specified by:
setBigDecimal
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream inputStream) throws java.sql.SQLException
- Specified by:
setBinaryStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLException
- Specified by:
setBinaryStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLException
- Specified by:
setBinaryStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBlob
public void setBlob(int i, java.sql.Blob x) throws java.sql.SQLException
- Specified by:
setBlob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBlob
public void setBlob(int parameterIndex, java.io.InputStream inputStream) throws java.sql.SQLException
- Specified by:
setBlob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBlob
public void setBlob(int parameterIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLException
- Specified by:
setBlob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBoolean
public void setBoolean(int parameterIndex, boolean x) throws java.sql.SQLException
- Specified by:
setBoolean
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setByte
public void setByte(int parameterIndex, byte x) throws java.sql.SQLException
- Specified by:
setByte
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setBytes
public void setBytes(int parameterIndex, byte[] x) throws java.sql.SQLException
- Specified by:
setBytes
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException
- Specified by:
setCharacterStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader reader, int length) throws java.sql.SQLException
- Specified by:
setCharacterStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException
- Specified by:
setCharacterStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setClob
public void setClob(int i, java.sql.Clob x) throws java.sql.SQLException
- Specified by:
setClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setClob
public void setClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException
- Specified by:
setClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setClob
public void setClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException
- Specified by:
setClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setDate
public void setDate(int parameterIndex, java.sql.Date x) throws java.sql.SQLException
- Specified by:
setDate
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setDate
public void setDate(int parameterIndex, java.sql.Date x, java.util.Calendar cal) throws java.sql.SQLException
- Specified by:
setDate
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setDouble
public void setDouble(int parameterIndex, double x) throws java.sql.SQLException
- Specified by:
setDouble
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setFloat
public void setFloat(int parameterIndex, float x) throws java.sql.SQLException
- Specified by:
setFloat
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setInt
public void setInt(int parameterIndex, int x) throws java.sql.SQLException
- Specified by:
setInt
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setLong
public void setLong(int parameterIndex, long x) throws java.sql.SQLException
- Specified by:
setLong
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNCharacterStream
public void setNCharacterStream(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException
- Specified by:
setNCharacterStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNCharacterStream
public void setNCharacterStream(int parameterIndex, java.io.Reader value, long length) throws java.sql.SQLException
- Specified by:
setNCharacterStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int parameterIndex, java.sql.NClob value) throws java.sql.SQLException
- Specified by:
setNClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException
- Specified by:
setNClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException
- Specified by:
setNClob
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNString
public void setNString(int parameterIndex, java.lang.String value) throws java.sql.SQLException
- Specified by:
setNString
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNull
public void setNull(int parameterIndex, int sqlType) throws java.sql.SQLException
- Specified by:
setNull
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setNull
public void setNull(int paramIndex, int sqlType, java.lang.String typeName) throws java.sql.SQLException
- Specified by:
setNull
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x) throws java.sql.SQLException
- Specified by:
setObject
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, int targetSqlType) throws java.sql.SQLException
- Specified by:
setObject
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, int targetSqlType, int scale) throws java.sql.SQLException
- Specified by:
setObject
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType) throws java.sql.SQLException
- Specified by:
setObject
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
- Since:
- 2.5.0
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength) throws java.sql.SQLException
- Specified by:
setObject
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
- Since:
- 2.5.0
-
setRef
public void setRef(int i, java.sql.Ref x) throws java.sql.SQLException
- Specified by:
setRef
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setRowId
public void setRowId(int parameterIndex, java.sql.RowId value) throws java.sql.SQLException
- Specified by:
setRowId
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setShort
public void setShort(int parameterIndex, short x) throws java.sql.SQLException
- Specified by:
setShort
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setSQLXML
public void setSQLXML(int parameterIndex, java.sql.SQLXML value) throws java.sql.SQLException
- Specified by:
setSQLXML
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setString
public void setString(int parameterIndex, java.lang.String x) throws java.sql.SQLException
- Specified by:
setString
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setTime
public void setTime(int parameterIndex, java.sql.Time x) throws java.sql.SQLException
- Specified by:
setTime
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setTime
public void setTime(int parameterIndex, java.sql.Time x, java.util.Calendar cal) throws java.sql.SQLException
- Specified by:
setTime
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setTimestamp
public void setTimestamp(int parameterIndex, java.sql.Timestamp x) throws java.sql.SQLException
- Specified by:
setTimestamp
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setTimestamp
public void setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar cal) throws java.sql.SQLException
- Specified by:
setTimestamp
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setUnicodeStream
@Deprecated public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLException
Deprecated.Use setAsciiStream(), setCharacterStream() or setNCharacterStream()- Specified by:
setUnicodeStream
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
setURL
public void setURL(int parameterIndex, java.net.URL x) throws java.sql.SQLException
- Specified by:
setURL
in interfacejava.sql.PreparedStatement
- Throws:
java.sql.SQLException
-
toString
public java.lang.String toString()
Returns a String representation of this object.- Overrides:
toString
in classDelegatingStatement
- Returns:
- String
-
-