Package | Class | Use | Tree | Deprecated | Index | Help
| log4jdbc4 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.log4jdbc
Class PreparedStatementSpy

    java.lang.Object
      net.sf.log4jdbc.StatementSpy
          net.sf.log4jdbc.PreparedStatementSpy

All Implemented Interfaces:
  PreparedStatement, Statement, Wrapper, Spy

Direct Known Subclasses:
  CallableStatementSpy

    public class PreparedStatementSpy

extends StatementSpy
implements PreparedStatement

Wraps a PreparedStatement and reports method calls, returns and exceptions.

Author:
  Arthur Blake

Field Summary
`protected List` | `argTrace` holds list of bind variables for tracing
`protected net.sf.log4jdbc.RdbmsSpecifics` | `rdbmsSpecifics` RdbmsSpecifics for formatting SQL for the given RDBMS.
`protected PreparedStatement` | `realPreparedStatement` The real PreparedStatement that this PreparedStatementSpy wraps.

Fields inherited from class net.sf.log4jdbc.StatementSpy
`connectionSpy, currentBatch, realStatement`

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
`PreparedStatementSpy(String sql, ConnectionSpy connectionSpy, PreparedStatement realPreparedStatement)` Create a PreparedStatementSpy (JDBC 4.0 version) for logging activity of another PreparedStatement.

Method Summary
`void` | `addBatch()`
`protected void` | `argTraceSet(int i, String typeHelper, Object arg)` Store an argument (bind variable) into the argTrace list (above) for later dumping.
`void` | `clearParameters()`
`protected String` | `dumpedSql()`
`boolean` | `execute()`
`ResultSet` | `executeQuery()`
`int` | `executeUpdate()`
`String` | `getClassType()` Get the type of class being spied upon.
`ResultSetMetaData` | `getMetaData()`
`ParameterMetaData` | `getParameterMetaData()`
`boolean` | `isWrapperFor(Class<?> iface)`
`protected void` | `reportAllReturns(String methodCall, String msg)` Report (for logging) that a method returned.
`void` | `setArray(int i, Array x)`
`void` | `setAsciiStream(int parameterIndex, InputStream x)`
`void` | `setAsciiStream(int parameterIndex, InputStream x, int length)`
`void` | `setAsciiStream(int parameterIndex, InputStream x, long length)` Sets the designated parameter to the given input stream, which will have the specified number of bytes.
`void` | `setBigDecimal(int parameterIndex, BigDecimal x)`
`void` | `setBinaryStream(int parameterIndex, InputStream x)`
`void` | `setBinaryStream(int parameterIndex, InputStream x, int length)`
`void` | `setBinaryStream(int parameterIndex, InputStream x, long length)`
`void` | `setBlob(int i, Blob x)`
`void` | `setBlob(int parameterIndex, InputStream inputStream)`
`void` | `setBlob(int parameterIndex, InputStream inputStream, long length)`
`void` | `setBoolean(int parameterIndex, boolean x)`
`void` | `setByte(int parameterIndex, byte x)`
`void` | `setBytes(int parameterIndex, byte[] x)`
`void` | `setCharacterStream(int parameterIndex, Reader reader)`
`void` | `setCharacterStream(int parameterIndex, Reader reader, int length)`
`void` | `setCharacterStream(int parameterIndex, Reader reader, long length)`
`void` | `setClob(int i, Clob x)`
`void` | `setClob(int parameterIndex, Reader reader)`
`void` | `setClob(int parameterIndex, Reader reader, long length)`
`void` | `setDate(int parameterIndex, Date x)`
`void` | `setDate(int parameterIndex, Date x, 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, Reader reader)`
`void` | `setNCharacterStream(int parameterIndex, Reader value, long length)`
`void` | `setNClob(int parameterIndex, NClob value)`
`void` | `setNClob(int parameterIndex, Reader reader)`
`void` | `setNClob(int parameterIndex, Reader reader, long length)`
`void` | `setNString(int parameterIndex, String value)`
`void` | `setNull(int parameterIndex, int sqlType)`
`void` | `setNull(int paramIndex, int sqlType, String typeName)`
`void` | `setObject(int parameterIndex, Object x)`
`void` | `setObject(int parameterIndex, Object x, int targetSqlType)`
`void` | `setObject(int parameterIndex, Object x, int targetSqlType, int scale)`
`void` | `setRef(int i, Ref x)`
`void` | `setRowId(int parameterIndex, RowId x)`
`void` | `setShort(int parameterIndex, short x)`
`void` | `setSQLXML(int parameterIndex, SQLXML xmlObject)`
`void` | `setString(int parameterIndex, String x)`
`void` | `setTime(int parameterIndex, Time x)`
`void` | `setTime(int parameterIndex, Time x, Calendar cal)`
`void` | `setTimestamp(int parameterIndex, Timestamp x)`
`void` | `setTimestamp(int parameterIndex, Timestamp x, Calendar cal)`
`void` | `setUnicodeStream(int parameterIndex, InputStream x, int length)` Deprecated.
`void` | `setURL(int parameterIndex, URL x)`
`
`<T> T`
` | `unwrap(Class<T> iface)`

Methods inherited from class net.sf.log4jdbc.StatementSpy
`addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getConnectionNumber, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, reportException, reportException, reportException, reportReturn, reportReturn, reportReturn, reportReturn, reportReturn, reportReturn, reportReturn, reportReturn, reportReturn, reportSql, reportSqlTiming, reportStatementSql, reportStatementSqlTiming, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface java.sql.Statement
`addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

Field Detail

### argTrace

    protected final List argTrace

  holds list of bind variables for tracing

### realPreparedStatement

    protected PreparedStatement realPreparedStatement

  The real PreparedStatement that this PreparedStatementSpy wraps.

### rdbmsSpecifics

    protected net.sf.log4jdbc.RdbmsSpecifics rdbmsSpecifics

  RdbmsSpecifics for formatting SQL for the given RDBMS.

Constructor Detail

### PreparedStatementSpy

    public PreparedStatementSpy(String sql,
                                ConnectionSpy connectionSpy,
                                PreparedStatement realPreparedStatement)

  Create a PreparedStatementSpy (JDBC 4.0 version) for logging activity of another PreparedStatement.

  Parameters:
    `sql` - SQL for the prepared statement that is being spied upon.
    `connectionSpy` - ConnectionSpy that was called to produce this PreparedStatement.
    `realPreparedStatement` - The actual PreparedStatement that is being spied upon.

Method Detail

### argTraceSet

    protected void argTraceSet(int i,
                               String typeHelper,
                               Object arg)

  Store an argument (bind variable) into the argTrace list (above) for later dumping.

  Parameters:
    `i` - index of argument being set.
    `typeHelper` - optional additional info about the type that is being set in the arg
    `arg` - argument being bound.

### dumpedSql

    protected String dumpedSql()

### reportAllReturns

    protected void reportAllReturns(String methodCall,
                                    String msg)

  Description copied from class: `StatementSpy`
  Report (for logging) that a method returned. All the other reportReturn methods are conveniance methods that call this method.

  Overrides:
    `reportAllReturns` in class `StatementSpy`
  Parameters:
    `methodCall` - description of method call and arguments passed to it that returned.
    `msg` - description of what the return value that was returned. may be an empty String for void return types.

### getClassType

    public String getClassType()

  Description copied from interface: `Spy`
  Get the type of class being spied upon. For example, "Statement", "ResultSet", etc.

  Specified by:
    `getClassType` in interface `Spy`
  Overrides:
    `getClassType` in class `StatementSpy`
  Returns:
    a description of the type of class being spied upon.

### setTime

    public void setTime(int parameterIndex,
                        Time x)
                 throws SQLException

  Specified by:
    `setTime` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setTime

    public void setTime(int parameterIndex,
                        Time x,
                        Calendar cal)
                 throws SQLException

  Specified by:
    `setTime` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader,
                                   int length)
                            throws SQLException

  Specified by:
    `setCharacterStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNull

    public void setNull(int parameterIndex,
                        int sqlType)
                 throws SQLException

  Specified by:
    `setNull` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNull

    public void setNull(int paramIndex,
                        int sqlType,
                        String typeName)
                 throws SQLException

  Specified by:
    `setNull` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setRef

    public void setRef(int i,
                       Ref x)
                throws SQLException

  Specified by:
    `setRef` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBoolean

    public void setBoolean(int parameterIndex,
                           boolean x)
                    throws SQLException

  Specified by:
    `setBoolean` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBlob

    public void setBlob(int i,
                        Blob x)
                 throws SQLException

  Specified by:
    `setBlob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setClob

    public void setClob(int i,
                        Clob x)
                 throws SQLException

  Specified by:
    `setClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setArray

    public void setArray(int i,
                         Array x)
                  throws SQLException

  Specified by:
    `setArray` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setByte

    public void setByte(int parameterIndex,
                        byte x)
                 throws SQLException

  Specified by:
    `setByte` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setUnicodeStream

    public void setUnicodeStream(int parameterIndex,
                                 InputStream x,
                                 int length)
                          throws SQLException

  Deprecated.

  Specified by:
    `setUnicodeStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setShort

    public void setShort(int parameterIndex,
                         short x)
                  throws SQLException

  Specified by:
    `setShort` in interface `PreparedStatement`
  Throws:
    `SQLException`

### execute

    public boolean execute()
                    throws SQLException

  Specified by:
    `execute` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setInt

    public void setInt(int parameterIndex,
                       int x)
                throws SQLException

  Specified by:
    `setInt` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setLong

    public void setLong(int parameterIndex,
                        long x)
                 throws SQLException

  Specified by:
    `setLong` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setFloat

    public void setFloat(int parameterIndex,
                         float x)
                  throws SQLException

  Specified by:
    `setFloat` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setDouble

    public void setDouble(int parameterIndex,
                          double x)
                   throws SQLException

  Specified by:
    `setDouble` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBigDecimal

    public void setBigDecimal(int parameterIndex,
                              BigDecimal x)
                       throws SQLException

  Specified by:
    `setBigDecimal` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setURL

    public void setURL(int parameterIndex,
                       URL x)
                throws SQLException

  Specified by:
    `setURL` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setString

    public void setString(int parameterIndex,
                          String x)
                   throws SQLException

  Specified by:
    `setString` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBytes

    public void setBytes(int parameterIndex,
                         byte[] x)
                  throws SQLException

  Specified by:
    `setBytes` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setDate

    public void setDate(int parameterIndex,
                        Date x)
                 throws SQLException

  Specified by:
    `setDate` in interface `PreparedStatement`
  Throws:
    `SQLException`

### getParameterMetaData

    public ParameterMetaData getParameterMetaData()
                                           throws SQLException

  Specified by:
    `getParameterMetaData` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setRowId

    public void setRowId(int parameterIndex,
                         RowId x)
                  throws SQLException

  Specified by:
    `setRowId` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNString

    public void setNString(int parameterIndex,
                           String value)
                    throws SQLException

  Specified by:
    `setNString` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                                    Reader value,
                                    long length)
                             throws SQLException

  Specified by:
    `setNCharacterStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNClob

    public void setNClob(int parameterIndex,
                         NClob value)
                  throws SQLException

  Specified by:
    `setNClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setClob

    public void setClob(int parameterIndex,
                        Reader reader,
                        long length)
                 throws SQLException

  Specified by:
    `setClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBlob

    public void setBlob(int parameterIndex,
                        InputStream inputStream,
                        long length)
                 throws SQLException

  Specified by:
    `setBlob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNClob

    public void setNClob(int parameterIndex,
                         Reader reader,
                         long length)
                  throws SQLException

  Specified by:
    `setNClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setSQLXML

    public void setSQLXML(int parameterIndex,
                          SQLXML xmlObject)
                   throws SQLException

  Specified by:
    `setSQLXML` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setDate

    public void setDate(int parameterIndex,
                        Date x,
                        Calendar cal)
                 throws SQLException

  Specified by:
    `setDate` in interface `PreparedStatement`
  Throws:
    `SQLException`

### executeQuery

    public ResultSet executeQuery()
                           throws SQLException

  Specified by:
    `executeQuery` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setObject

    public void setObject(int parameterIndex,
                          Object x,
                          int targetSqlType,
                          int scale)
                   throws SQLException

  Specified by:
    `setObject` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream x,
                               long length)
                        throws SQLException

  Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.InputStream`. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

  Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

  Specified by:
    `setAsciiStream` in interface `PreparedStatement`
  Since:
    1.6
  Throws:
    `SQLException` - if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs or this method is called on a closed `PreparedStatement`
  Parameters:
    `parameterIndex` - the first parameter is 1, the second is 2, ...
    `x` - the Java input stream that contains the ASCII parameter value
    `length` - the number of bytes in the stream

### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream x,
                                long length)
                         throws SQLException

  Specified by:
    `setBinaryStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader,
                                   long length)
                            throws SQLException

  Specified by:
    `setCharacterStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream x)
                        throws SQLException

  Specified by:
    `setAsciiStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream x)
                         throws SQLException

  Specified by:
    `setBinaryStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setCharacterStream

    public void setCharacterStream(int parameterIndex,
                                   Reader reader)
                            throws SQLException

  Specified by:
    `setCharacterStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNCharacterStream

    public void setNCharacterStream(int parameterIndex,
                                    Reader reader)
                             throws SQLException

  Specified by:
    `setNCharacterStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setClob

    public void setClob(int parameterIndex,
                        Reader reader)
                 throws SQLException

  Specified by:
    `setClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBlob

    public void setBlob(int parameterIndex,
                        InputStream inputStream)
                 throws SQLException

  Specified by:
    `setBlob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setNClob

    public void setNClob(int parameterIndex,
                         Reader reader)
                  throws SQLException

  Specified by:
    `setNClob` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setObject

    public void setObject(int parameterIndex,
                          Object x,
                          int targetSqlType)
                   throws SQLException

  Specified by:
    `setObject` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setObject

    public void setObject(int parameterIndex,
                          Object x)
                   throws SQLException

  Specified by:
    `setObject` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setTimestamp

    public void setTimestamp(int parameterIndex,
                             Timestamp x)
                      throws SQLException

  Specified by:
    `setTimestamp` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setTimestamp

    public void setTimestamp(int parameterIndex,
                             Timestamp x,
                             Calendar cal)
                      throws SQLException

  Specified by:
    `setTimestamp` in interface `PreparedStatement`
  Throws:
    `SQLException`

### executeUpdate

    public int executeUpdate()
                      throws SQLException

  Specified by:
    `executeUpdate` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setAsciiStream

    public void setAsciiStream(int parameterIndex,
                               InputStream x,
                               int length)
                        throws SQLException

  Specified by:
    `setAsciiStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### setBinaryStream

    public void setBinaryStream(int parameterIndex,
                                InputStream x,
                                int length)
                         throws SQLException

  Specified by:
    `setBinaryStream` in interface `PreparedStatement`
  Throws:
    `SQLException`

### clearParameters

    public void clearParameters()
                         throws SQLException

  Specified by:
    `clearParameters` in interface `PreparedStatement`
  Throws:
    `SQLException`

### getMetaData

    public ResultSetMetaData getMetaData()
                                  throws SQLException

  Specified by:
    `getMetaData` in interface `PreparedStatement`
  Throws:
    `SQLException`

### addBatch

    public void addBatch()
                  throws SQLException

  Specified by:
    `addBatch` in interface `PreparedStatement`
  Throws:
    `SQLException`

### unwrap

    public <T> T unwrap(Class<T> iface)
             throws SQLException

  Specified by:
    `unwrap` in interface `Wrapper`
  Overrides:
    `unwrap` in class `StatementSpy`
  Throws:
    `SQLException`

### isWrapperFor

    public boolean isWrapperFor(Class<?> iface)
                         throws SQLException

  Specified by:
    `isWrapperFor` in interface `Wrapper`
  Overrides:
    `isWrapperFor` in class `StatementSpy`
  Throws:
    `SQLException`

Package | Class | Use | Tree | Deprecated | Index | Help
| log4jdbc4 1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD