org.apache.commons.dbcp
Class DelegatingCallableStatement

java.lang.Object
  |
  +--org.apache.commons.dbcp.AbandonedTrace
        |
        +--org.apache.commons.dbcp.DelegatingCallableStatement
All Implemented Interfaces:
java.sql.CallableStatement, java.sql.PreparedStatement, java.sql.Statement

public class DelegatingCallableStatement
extends AbandonedTrace
implements java.sql.CallableStatement

A base delegating implementation of CallableStatement.

All of the methods from the CallableStatement interface simply 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.

Author:
Glenn L. Nielsen
, James House (james@interobjective.com)

Field Summary
protected  DelegatingConnection _conn
          The connection that created me.
protected  java.sql.CallableStatement _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
DelegatingCallableStatement(DelegatingConnection c, java.sql.CallableStatement 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
 void addBatch()
           
 void addBatch(java.lang.String sql)
           
 void cancel()
           
 void clearBatch()
           
 void clearParameters()
           
 void clearWarnings()
           
 void close()
          Close this DelegatingCallableStatement, 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.Array getArray(int i)
           
 java.math.BigDecimal getBigDecimal(int parameterIndex)
           
 java.sql.Blob getBlob(int i)
           
 boolean getBoolean(int parameterIndex)
           
 byte getByte(int parameterIndex)
           
 byte[] getBytes(int parameterIndex)
           
 java.sql.Clob getClob(int i)
           
 java.sql.Connection getConnection()
           
 java.sql.Date getDate(int parameterIndex)
           
 java.sql.Date getDate(int parameterIndex, java.util.Calendar cal)
           
 double getDouble(int parameterIndex)
           
 int getFetchDirection()
           
 int getFetchSize()
           
 float getFloat(int parameterIndex)
           
 int getInt(int parameterIndex)
           
 long getLong(int parameterIndex)
           
 int getMaxFieldSize()
           
 int getMaxRows()
           
 java.sql.ResultSetMetaData getMetaData()
           
 boolean getMoreResults()
           
 java.lang.Object getObject(int parameterIndex)
           
 java.lang.Object getObject(int i, java.util.Map map)
           
 int getQueryTimeout()
           
 java.sql.Ref getRef(int i)
           
 java.sql.ResultSet getResultSet()
           
 int getResultSetConcurrency()
           
 int getResultSetType()
           
 short getShort(int parameterIndex)
           
 java.lang.String getString(int parameterIndex)
           
 java.sql.Time getTime(int parameterIndex)
           
 java.sql.Time getTime(int parameterIndex, java.util.Calendar cal)
           
 java.sql.Timestamp getTimestamp(int parameterIndex)
           
 java.sql.Timestamp getTimestamp(int parameterIndex, java.util.Calendar cal)
           
 int getUpdateCount()
           
 java.sql.SQLWarning getWarnings()
           
 void registerOutParameter(int parameterIndex, int sqlType)
           
 void registerOutParameter(int parameterIndex, int sqlType, int scale)
           
 void registerOutParameter(int paramIndex, int sqlType, java.lang.String typeName)
           
 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 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)
           
 boolean wasNull()
           
 
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.CallableStatement
getArray, getBigDecimal, getBigDecimal, getBlob, getBoolean, getByte, getBytes, getClob, getDate, getDate, getDouble, getFloat, getInt, getLong, getObject, getObject, getRef, getShort, getString, getTime, getTime, getTimestamp, getTimestamp, getURL, getURL, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setBigDecimal, setBinaryStream, setBoolean, setByte, setBytes, setCharacterStream, setDate, setDate, setDouble, setFloat, setInt, setLong, setNull, setNull, setObject, setObject, setObject, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setURL
 
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

_conn

protected DelegatingConnection _conn
The connection that created me.


_stmt

protected java.sql.CallableStatement _stmt
My delegate.

Constructor Detail

DelegatingCallableStatement

public DelegatingCallableStatement(DelegatingConnection c,
                                   java.sql.CallableStatement s)
Create a wrapper for the Statement which traces this Statement to the Connection which created it and the code which created it.

Method Detail

addBatch

public void addBatch()
              throws java.sql.SQLException
Specified by:
addBatch in interface java.sql.PreparedStatement
java.sql.SQLException

addBatch

public void addBatch(java.lang.String sql)
              throws java.sql.SQLException
Specified by:
addBatch in interface java.sql.Statement
java.sql.SQLException

cancel

public void cancel()
            throws java.sql.SQLException
Specified by:
cancel in interface java.sql.Statement
java.sql.SQLException

clearBatch

public void clearBatch()
                throws java.sql.SQLException
Specified by:
clearBatch in interface java.sql.Statement
java.sql.SQLException

clearParameters

public void clearParameters()
                     throws java.sql.SQLException
Specified by:
clearParameters in interface java.sql.PreparedStatement
java.sql.SQLException

clearWarnings

public void clearWarnings()
                   throws java.sql.SQLException
Specified by:
clearWarnings in interface java.sql.Statement
java.sql.SQLException

close

public void close()
           throws java.sql.SQLException
Close this DelegatingCallableStatement, and close any ResultSets that were not explicitly closed.

Specified by:
close in interface java.sql.Statement
java.sql.SQLException

execute

public boolean execute()
                throws java.sql.SQLException
Specified by:
execute in interface java.sql.PreparedStatement
java.sql.SQLException

execute

public boolean execute(java.lang.String sql)
                throws java.sql.SQLException
Specified by:
execute in interface java.sql.Statement
java.sql.SQLException

executeBatch

public int[] executeBatch()
                   throws java.sql.SQLException
Specified by:
executeBatch in interface java.sql.Statement
java.sql.SQLException

executeQuery

public java.sql.ResultSet executeQuery()
                                throws java.sql.SQLException
Specified by:
executeQuery in interface java.sql.PreparedStatement
java.sql.SQLException

executeQuery

public java.sql.ResultSet executeQuery(java.lang.String sql)
                                throws java.sql.SQLException
Specified by:
executeQuery in interface java.sql.Statement
java.sql.SQLException

executeUpdate

public int executeUpdate()
                  throws java.sql.SQLException
Specified by:
executeUpdate in interface java.sql.PreparedStatement
java.sql.SQLException

executeUpdate

public int executeUpdate(java.lang.String sql)
                  throws java.sql.SQLException
Specified by:
executeUpdate in interface java.sql.Statement
java.sql.SQLException

getArray

public java.sql.Array getArray(int i)
                        throws java.sql.SQLException
Specified by:
getArray in interface java.sql.CallableStatement
java.sql.SQLException

getBigDecimal

public java.math.BigDecimal getBigDecimal(int parameterIndex)
                                   throws java.sql.SQLException
Specified by:
getBigDecimal in interface java.sql.CallableStatement
java.sql.SQLException

getBlob

public java.sql.Blob getBlob(int i)
                      throws java.sql.SQLException
Specified by:
getBlob in interface java.sql.CallableStatement
java.sql.SQLException

getBoolean

public boolean getBoolean(int parameterIndex)
                   throws java.sql.SQLException
Specified by:
getBoolean in interface java.sql.CallableStatement
java.sql.SQLException

getByte

public byte getByte(int parameterIndex)
             throws java.sql.SQLException
Specified by:
getByte in interface java.sql.CallableStatement
java.sql.SQLException

getBytes

public byte[] getBytes(int parameterIndex)
                throws java.sql.SQLException
Specified by:
getBytes in interface java.sql.CallableStatement
java.sql.SQLException

getClob

public java.sql.Clob getClob(int i)
                      throws java.sql.SQLException
Specified by:
getClob in interface java.sql.CallableStatement
java.sql.SQLException

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Specified by:
getConnection in interface java.sql.Statement
java.sql.SQLException

getDate

public java.sql.Date getDate(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
java.sql.SQLException

getDate

public java.sql.Date getDate(int parameterIndex,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
java.sql.SQLException

getDouble

public double getDouble(int parameterIndex)
                 throws java.sql.SQLException
Specified by:
getDouble in interface java.sql.CallableStatement
java.sql.SQLException

getFetchDirection

public int getFetchDirection()
                      throws java.sql.SQLException
Specified by:
getFetchDirection in interface java.sql.Statement
java.sql.SQLException

getFetchSize

public int getFetchSize()
                 throws java.sql.SQLException
Specified by:
getFetchSize in interface java.sql.Statement
java.sql.SQLException

getFloat

public float getFloat(int parameterIndex)
               throws java.sql.SQLException
Specified by:
getFloat in interface java.sql.CallableStatement
java.sql.SQLException

getInt

public int getInt(int parameterIndex)
           throws java.sql.SQLException
Specified by:
getInt in interface java.sql.CallableStatement
java.sql.SQLException

getLong

public long getLong(int parameterIndex)
             throws java.sql.SQLException
Specified by:
getLong in interface java.sql.CallableStatement
java.sql.SQLException

getMaxFieldSize

public int getMaxFieldSize()
                    throws java.sql.SQLException
Specified by:
getMaxFieldSize in interface java.sql.Statement
java.sql.SQLException

getMaxRows

public int getMaxRows()
               throws java.sql.SQLException
Specified by:
getMaxRows in interface java.sql.Statement
java.sql.SQLException

getMetaData

public java.sql.ResultSetMetaData getMetaData()
                                       throws java.sql.SQLException
Specified by:
getMetaData in interface java.sql.PreparedStatement
java.sql.SQLException

getMoreResults

public boolean getMoreResults()
                       throws java.sql.SQLException
Specified by:
getMoreResults in interface java.sql.Statement
java.sql.SQLException

getObject

public java.lang.Object getObject(int parameterIndex)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
java.sql.SQLException

getObject

public java.lang.Object getObject(int i,
                                  java.util.Map map)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
java.sql.SQLException

getQueryTimeout

public int getQueryTimeout()
                    throws java.sql.SQLException
Specified by:
getQueryTimeout in interface java.sql.Statement
java.sql.SQLException

getRef

public java.sql.Ref getRef(int i)
                    throws java.sql.SQLException
Specified by:
getRef in interface java.sql.CallableStatement
java.sql.SQLException

getResultSet

public java.sql.ResultSet getResultSet()
                                throws java.sql.SQLException
Specified by:
getResultSet in interface java.sql.Statement
java.sql.SQLException

getResultSetConcurrency

public int getResultSetConcurrency()
                            throws java.sql.SQLException
Specified by:
getResultSetConcurrency in interface java.sql.Statement
java.sql.SQLException

getResultSetType

public int getResultSetType()
                     throws java.sql.SQLException
Specified by:
getResultSetType in interface java.sql.Statement
java.sql.SQLException

getShort

public short getShort(int parameterIndex)
               throws java.sql.SQLException
Specified by:
getShort in interface java.sql.CallableStatement
java.sql.SQLException

getString

public java.lang.String getString(int parameterIndex)
                           throws java.sql.SQLException
Specified by:
getString in interface java.sql.CallableStatement
java.sql.SQLException

getTime

public java.sql.Time getTime(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
java.sql.SQLException

getTime

public java.sql.Time getTime(int parameterIndex,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
java.sql.SQLException

getTimestamp

public java.sql.Timestamp getTimestamp(int parameterIndex)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
java.sql.SQLException

getTimestamp

public java.sql.Timestamp getTimestamp(int parameterIndex,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
java.sql.SQLException

getUpdateCount

public int getUpdateCount()
                   throws java.sql.SQLException
Specified by:
getUpdateCount in interface java.sql.Statement
java.sql.SQLException

getWarnings

public java.sql.SQLWarning getWarnings()
                                throws java.sql.SQLException
Specified by:
getWarnings in interface java.sql.Statement
java.sql.SQLException

registerOutParameter

public void registerOutParameter(int parameterIndex,
                                 int sqlType)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
java.sql.SQLException

registerOutParameter

public void registerOutParameter(int parameterIndex,
                                 int sqlType,
                                 int scale)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
java.sql.SQLException

registerOutParameter

public void registerOutParameter(int paramIndex,
                                 int sqlType,
                                 java.lang.String typeName)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
java.sql.SQLException

setArray

public void setArray(int i,
                     java.sql.Array x)
              throws java.sql.SQLException
Specified by:
setArray in interface java.sql.PreparedStatement
java.sql.SQLException

setAsciiStream

public void setAsciiStream(int parameterIndex,
                           java.io.InputStream x,
                           int length)
                    throws java.sql.SQLException
Specified by:
setAsciiStream in interface java.sql.PreparedStatement
java.sql.SQLException

setBigDecimal

public void setBigDecimal(int parameterIndex,
                          java.math.BigDecimal x)
                   throws java.sql.SQLException
Specified by:
setBigDecimal in interface java.sql.PreparedStatement
java.sql.SQLException

setBinaryStream

public void setBinaryStream(int parameterIndex,
                            java.io.InputStream x,
                            int length)
                     throws java.sql.SQLException
Specified by:
setBinaryStream in interface java.sql.PreparedStatement
java.sql.SQLException

setBlob

public void setBlob(int i,
                    java.sql.Blob x)
             throws java.sql.SQLException
Specified by:
setBlob in interface java.sql.PreparedStatement
java.sql.SQLException

setBoolean

public void setBoolean(int parameterIndex,
                       boolean x)
                throws java.sql.SQLException
Specified by:
setBoolean in interface java.sql.PreparedStatement
java.sql.SQLException

setByte

public void setByte(int parameterIndex,
                    byte x)
             throws java.sql.SQLException
Specified by:
setByte in interface java.sql.PreparedStatement
java.sql.SQLException

setBytes

public void setBytes(int parameterIndex,
                     byte[] x)
              throws java.sql.SQLException
Specified by:
setBytes in interface java.sql.PreparedStatement
java.sql.SQLException

setCharacterStream

public void setCharacterStream(int parameterIndex,
                               java.io.Reader reader,
                               int length)
                        throws java.sql.SQLException
Specified by:
setCharacterStream in interface java.sql.PreparedStatement
java.sql.SQLException

setClob

public void setClob(int i,
                    java.sql.Clob x)
             throws java.sql.SQLException
Specified by:
setClob in interface java.sql.PreparedStatement
java.sql.SQLException

setCursorName

public void setCursorName(java.lang.String name)
                   throws java.sql.SQLException
Specified by:
setCursorName in interface java.sql.Statement
java.sql.SQLException

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x)
             throws java.sql.SQLException
Specified by:
setDate in interface java.sql.PreparedStatement
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 interface java.sql.PreparedStatement
java.sql.SQLException

setDouble

public void setDouble(int parameterIndex,
                      double x)
               throws java.sql.SQLException
Specified by:
setDouble in interface java.sql.PreparedStatement
java.sql.SQLException

setEscapeProcessing

public void setEscapeProcessing(boolean enable)
                         throws java.sql.SQLException
Specified by:
setEscapeProcessing in interface java.sql.Statement
java.sql.SQLException

setFetchDirection

public void setFetchDirection(int direction)
                       throws java.sql.SQLException
Specified by:
setFetchDirection in interface java.sql.Statement
java.sql.SQLException

setFetchSize

public void setFetchSize(int rows)
                  throws java.sql.SQLException
Specified by:
setFetchSize in interface java.sql.Statement
java.sql.SQLException

setFloat

public void setFloat(int parameterIndex,
                     float x)
              throws java.sql.SQLException
Specified by:
setFloat in interface java.sql.PreparedStatement
java.sql.SQLException

setInt

public void setInt(int parameterIndex,
                   int x)
            throws java.sql.SQLException
Specified by:
setInt in interface java.sql.PreparedStatement
java.sql.SQLException

setLong

public void setLong(int parameterIndex,
                    long x)
             throws java.sql.SQLException
Specified by:
setLong in interface java.sql.PreparedStatement
java.sql.SQLException

setMaxFieldSize

public void setMaxFieldSize(int max)
                     throws java.sql.SQLException
Specified by:
setMaxFieldSize in interface java.sql.Statement
java.sql.SQLException

setMaxRows

public void setMaxRows(int max)
                throws java.sql.SQLException
Specified by:
setMaxRows in interface java.sql.Statement
java.sql.SQLException

setNull

public void setNull(int parameterIndex,
                    int sqlType)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.PreparedStatement
java.sql.SQLException

setNull

public void setNull(int paramIndex,
                    int sqlType,
                    java.lang.String typeName)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.PreparedStatement
java.sql.SQLException

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.PreparedStatement
java.sql.SQLException

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x,
                      int targetSqlType)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.PreparedStatement
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 interface java.sql.PreparedStatement
java.sql.SQLException

setQueryTimeout

public void setQueryTimeout(int seconds)
                     throws java.sql.SQLException
Specified by:
setQueryTimeout in interface java.sql.Statement
java.sql.SQLException

setRef

public void setRef(int i,
                   java.sql.Ref x)
            throws java.sql.SQLException
Specified by:
setRef in interface java.sql.PreparedStatement
java.sql.SQLException

setShort

public void setShort(int parameterIndex,
                     short x)
              throws java.sql.SQLException
Specified by:
setShort in interface java.sql.PreparedStatement
java.sql.SQLException

setString

public void setString(int parameterIndex,
                      java.lang.String x)
               throws java.sql.SQLException
Specified by:
setString in interface java.sql.PreparedStatement
java.sql.SQLException

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x)
             throws java.sql.SQLException
Specified by:
setTime in interface java.sql.PreparedStatement
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 interface java.sql.PreparedStatement
java.sql.SQLException

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x)
                  throws java.sql.SQLException
Specified by:
setTimestamp in interface java.sql.PreparedStatement
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 interface java.sql.PreparedStatement
java.sql.SQLException

wasNull

public boolean wasNull()
                throws java.sql.SQLException
Specified by:
wasNull in interface java.sql.CallableStatement
java.sql.SQLException


Copyright © 2001 Apache Software Foundation. Documenation generated August 12 2002.