to.etc.dbpool
Class StatementProxy

java.lang.Object
  extended by to.etc.dbpool.StatementProxy
All Implemented Interfaces:
java.sql.Statement, java.sql.Wrapper
Direct Known Subclasses:
PreparedStatementProxy

public class StatementProxy
extends java.lang.Object
implements java.sql.Statement

Encapsulates a java.sql.Statement for NEMA purposes. This class implements all of the Statement interfaces, and merely routes all calls to the original statement. The close() call is used to remove this from the connection's traced statement list.


Field Summary
protected static java.util.logging.Logger LOG
           
 
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
StatementProxy(ConnectionProxy c, java.sql.Statement st, java.lang.String sql)
           
 
Method Summary
protected  ConnectionProxy _conn()
           
 void addBatch(java.lang.String sql)
           
protected  void appendQuery(java.lang.StringBuilder sb)
           
 void cancel()
           
 void clearBatch()
           
 void clearWarnings()
           
 void close()
          The original close is augmented with a call to remove this from the list of traced connection resources.
 void closedByConnection()
          This gets called when the Connection was closed, and it closes the resources.
 boolean execute(java.lang.String sql)
           
 boolean execute(java.lang.String sql, int p2)
           
 boolean execute(java.lang.String sql, int[] p2)
           
 boolean execute(java.lang.String sql, java.lang.String[] ar)
           
 int[] executeBatch()
           
 java.sql.ResultSet executeQuery(java.lang.String sql)
           
 int executeUpdate(java.lang.String sql)
           
 int executeUpdate(java.lang.String sql, int p2)
           
 int executeUpdate(java.lang.String sql, int[] ar)
           
 int executeUpdate(java.lang.String sql, java.lang.String[] ar)
           
 java.sql.Connection getConnection()
           
 int getFetchDirection()
           
 int getFetchSize()
           
 java.sql.ResultSet getGeneratedKeys()
           
 int getMaxFieldSize()
           
 int getMaxRows()
           
 boolean getMoreResults()
           
 boolean getMoreResults(int m)
           
 int getQueryTimeout()
           
 java.sql.Connection getRealConnection()
           
 java.sql.Statement getRealStatement()
          Returns the real statement, or throws an error when the statement has been closed.
 java.sql.ResultSet getResultSet()
          FIXME Needs wrapping.
 int getResultSetConcurrency()
           
 int getResultSetHoldability()
           
 int getResultSetType()
           
 java.lang.String getSQL()
          Return the SQL string for this statement.
 int getUpdateCount()
           
 java.sql.SQLWarning getWarnings()
           
protected  void internalDumpInfo()
           
 boolean isClosed()
           
 boolean isPoolable()
           
 boolean isWrapperFor(java.lang.Class<?> iface)
           
protected  ConnectionPool pool()
           
 void setCursorName(java.lang.String name)
           
 void setEscapeProcessing(boolean enable)
           
 void setFetchDirection(int direction)
           
 void setFetchSize(int rows)
           
 void setMaxFieldSize(int max)
           
 void setMaxRows(int max)
           
 void setPoolable(boolean arg0)
           
 void setQueryTimeout(int seconds)
           
<T> T
unwrap(java.lang.Class<T> iface)
           
protected  java.sql.SQLException wrap(java.sql.SQLException x)
          Base code to wrap exceptions if needed to provide a better message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected static java.util.logging.Logger LOG
Constructor Detail

StatementProxy

public StatementProxy(ConnectionProxy c,
                      java.sql.Statement st,
                      java.lang.String sql)
Method Detail

close

public void close()
           throws java.sql.SQLException
The original close is augmented with a call to remove this from the list of traced connection resources.

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

getRealConnection

public java.sql.Connection getRealConnection()

_conn

protected ConnectionProxy _conn()

pool

protected ConnectionPool pool()

closedByConnection

public void closedByConnection()
                        throws java.sql.SQLException
This gets called when the Connection was closed, and it closes the resources. This only closes the actual statement and does not remove the element from the connection's trace list.

Throws:
java.sql.SQLException

appendQuery

protected void appendQuery(java.lang.StringBuilder sb)

internalDumpInfo

protected void internalDumpInfo()

getSQL

public java.lang.String getSQL()
Return the SQL string for this statement.

Returns:

wrap

protected java.sql.SQLException wrap(java.sql.SQLException x)
Base code to wrap exceptions if needed to provide a better message.

Parameters:
x -
Returns:

getRealStatement

public java.sql.Statement getRealStatement()
Returns the real statement, or throws an error when the statement has been closed.


executeQuery

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

executeUpdate

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

execute

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

executeBatch

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

execute

public boolean execute(java.lang.String sql,
                       java.lang.String[] ar)
                throws java.sql.SQLException
Specified by:
execute in interface java.sql.Statement
Throws:
java.sql.SQLException

execute

public boolean execute(java.lang.String sql,
                       int[] p2)
                throws java.sql.SQLException
Specified by:
execute in interface java.sql.Statement
Throws:
java.sql.SQLException

execute

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

executeUpdate

public int executeUpdate(java.lang.String sql,
                         java.lang.String[] ar)
                  throws java.sql.SQLException
Specified by:
executeUpdate in interface java.sql.Statement
Throws:
java.sql.SQLException

executeUpdate

public int executeUpdate(java.lang.String sql,
                         int[] ar)
                  throws java.sql.SQLException
Specified by:
executeUpdate in interface java.sql.Statement
Throws:
java.sql.SQLException

executeUpdate

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

getMaxFieldSize

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

setMaxFieldSize

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

getMaxRows

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

setMaxRows

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

setEscapeProcessing

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

getQueryTimeout

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

setQueryTimeout

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

cancel

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

getWarnings

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

clearWarnings

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

setCursorName

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

getResultSet

public java.sql.ResultSet getResultSet()
                                throws java.sql.SQLException
FIXME Needs wrapping.

Specified by:
getResultSet in interface java.sql.Statement
Throws:
java.sql.SQLException
See Also:
Statement.getResultSet()

getUpdateCount

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

getMoreResults

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

setFetchDirection

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

getFetchDirection

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

setFetchSize

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

getFetchSize

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

getResultSetConcurrency

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

getResultSetType

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

addBatch

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

clearBatch

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

getConnection

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

getResultSetHoldability

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

getGeneratedKeys

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

getMoreResults

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

isClosed

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

isPoolable

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

isWrapperFor

public boolean isWrapperFor(java.lang.Class<?> iface)
                     throws java.sql.SQLException
Specified by:
isWrapperFor in interface java.sql.Wrapper
Throws:
java.sql.SQLException

setPoolable

public void setPoolable(boolean arg0)
                 throws java.sql.SQLException
Specified by:
setPoolable in interface java.sql.Statement
Throws:
java.sql.SQLException

unwrap

public <T> T unwrap(java.lang.Class<T> iface)
         throws java.sql.SQLException
Specified by:
unwrap in interface java.sql.Wrapper
Throws:
java.sql.SQLException