org.apache.openjpa.lib.jdbc
Class DelegatingPreparedStatement

java.lang.Object
  extended by org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement
All Implemented Interfaces:
java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper, Closeable
Direct Known Subclasses:
JDBCEventConnectionDecorator.EventPreparedStatement, JDBCStoreManager.CancelPreparedStatement, LoggingConnectionDecorator.LoggingConnection.LoggingPreparedStatement, PostgresDictionary.PostgresPreparedStatement

public abstract class DelegatingPreparedStatement
extends java.lang.Object
implements java.sql.PreparedStatement, Closeable

Wrapper around an existing statement. Subclasses can override the methods whose behavior they mean to change. The equals and hashCode methods pass through to the base underlying data store statement.

Author:
Abe White

Field Summary
 
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(java.sql.PreparedStatement stmnt, java.sql.Connection conn)
           
 
Method Summary
 void addBatch()
           
 void addBatch(java.lang.String str)
           
protected  void appendInfo(java.lang.StringBuffer buf)
           
 void cancel()
           
 void clearBatch()
           
 void clearParameters()
           
 void clearWarnings()
           
 void close()
           
 boolean equals(java.lang.Object other)
           
 boolean execute()
           
 boolean execute(java.lang.String str)
           
 boolean execute(java.lang.String s, int i)
           
 boolean execute(java.lang.String s, int[] ia)
           
 boolean execute(java.lang.String s, java.lang.String[] sa)
           
 int[] executeBatch()
           
 java.sql.ResultSet executeQuery()
           
protected  java.sql.ResultSet executeQuery(boolean wrap)
          Execute the query, with the option of not wrapping it in a DelegatingResultSet, which is the default.
 java.sql.ResultSet executeQuery(java.lang.String str)
           
protected  java.sql.ResultSet executeQuery(java.lang.String sql, boolean wrap)
          Execute the query, with the option of not wrapping it in a DelegatingResultSet, which is the default.
 int executeUpdate()
           
 int executeUpdate(java.lang.String str)
           
 int executeUpdate(java.lang.String s, int i)
           
 int executeUpdate(java.lang.String s, int[] ia)
           
 int executeUpdate(java.lang.String s, java.lang.String[] sa)
           
 java.sql.Connection getConnection()
           
 java.sql.PreparedStatement getDelegate()
          Return the wrapped statement.
 int getFetchDirection()
           
 int getFetchSize()
           
 java.sql.ResultSet getGeneratedKeys()
           
 java.sql.PreparedStatement getInnermostDelegate()
          Return the base underlying data store statement.
 int getMaxFieldSize()
           
 int getMaxRows()
           
 java.sql.ResultSetMetaData getMetaData()
           
 boolean getMoreResults()
           
 boolean getMoreResults(int i)
           
 java.sql.ParameterMetaData getParameterMetaData()
           
 int getQueryTimeout()
           
 java.sql.ResultSet getResultSet()
           
protected  java.sql.ResultSet getResultSet(boolean wrap)
          Get the last result set, with the option of not wrapping it in a DelegatingResultSet, which is the default.
 int getResultSetConcurrency()
           
 int getResultSetHoldability()
           
 int getResultSetType()
           
 int getUpdateCount()
           
 java.sql.SQLWarning getWarnings()
           
 int hashCode()
           
 boolean isWrapperFor(java.lang.Class iface)
           
static DelegatingPreparedStatement newInstance(java.sql.PreparedStatement stmnt, java.sql.Connection conn)
           
 void setArray(int i, java.sql.Array a)
           
 void setAsciiStream(int i1, java.io.InputStream is, int i2)
           
 void setBigDecimal(int i, java.math.BigDecimal bd)
           
 void setBinaryStream(int i1, java.io.InputStream is, int i2)
           
 void setBlob(int i, java.sql.Blob b)
           
 void setBoolean(int i, boolean b)
           
 void setByte(int i, byte b)
           
 void setBytes(int i, byte[] b)
           
 void setCharacterStream(int i1, java.io.Reader r, int i2)
           
 void setClob(int i, java.sql.Clob c)
           
 void setCursorName(java.lang.String str)
           
 void setDate(int i, java.sql.Date d)
           
 void setDate(int i, java.sql.Date d, java.util.Calendar c)
           
 void setDouble(int i, double d)
           
 void setEscapeProcessing(boolean bool)
           
 void setFetchDirection(int i)
           
 void setFetchSize(int i)
           
 void setFloat(int i, float f)
           
 void setInt(int i1, int i2)
           
 void setLong(int i, long l)
           
 void setMaxFieldSize(int i)
           
 void setMaxRows(int i)
           
 void setNull(int i1, int i2)
           
 void setNull(int i1, int i2, java.lang.String s)
           
 void setObject(int i, java.lang.Object o)
           
 void setObject(int i1, java.lang.Object o, int i2)
           
 void setObject(int i1, java.lang.Object o, int i2, int i3)
           
 void setQueryTimeout(int i)
           
 void setRef(int i, java.sql.Ref r)
           
 void setShort(int i, short s)
           
 void setString(int i, java.lang.String s)
           
 void setTime(int i, java.sql.Time t)
           
 void setTime(int i, java.sql.Time t, java.util.Calendar c)
           
 void setTimestamp(int i, java.sql.Timestamp t)
           
 void setTimestamp(int i, java.sql.Timestamp t, java.util.Calendar c)
           
 void setUnicodeStream(int i1, java.io.InputStream is, int i2)
          Deprecated.  
 void setURL(int i, java.net.URL url)
           
 java.lang.String toString()
           
 java.lang.Object unwrap(java.lang.Class iface)
           
protected  java.sql.ResultSet wrapResult(java.sql.ResultSet rs, boolean wrap)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.sql.PreparedStatement
setAsciiStream, setAsciiStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setCharacterStream, setCharacterStream, setClob, setClob, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setRowId, setSQLXML
 
Methods inherited from interface java.sql.Statement
isClosed, isPoolable, setPoolable
 

Constructor Detail

DelegatingPreparedStatement

public DelegatingPreparedStatement(java.sql.PreparedStatement stmnt,
                                   java.sql.Connection conn)
Method Detail

newInstance

public static DelegatingPreparedStatement newInstance(java.sql.PreparedStatement stmnt,
                                                      java.sql.Connection conn)

wrapResult

protected java.sql.ResultSet wrapResult(java.sql.ResultSet rs,
                                        boolean wrap)

getDelegate

public java.sql.PreparedStatement getDelegate()
Return the wrapped statement.


getInnermostDelegate

public java.sql.PreparedStatement getInnermostDelegate()
Return the base underlying data store statement.


hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

appendInfo

protected void appendInfo(java.lang.StringBuffer buf)

executeQuery

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

executeQuery

protected java.sql.ResultSet executeQuery(java.lang.String sql,
                                          boolean wrap)
                                   throws java.sql.SQLException
Execute the query, with the option of not wrapping it in a DelegatingResultSet, which is the default.

Throws:
java.sql.SQLException

executeUpdate

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

execute

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

close

public void close()
           throws java.sql.SQLException
Specified by:
close in interface java.sql.Statement
Specified by:
close in interface Closeable
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 i)
                     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 i)
                throws java.sql.SQLException
Specified by:
setMaxRows in interface java.sql.Statement
Throws:
java.sql.SQLException

setEscapeProcessing

public void setEscapeProcessing(boolean bool)
                         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 i)
                     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 str)
                   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
Specified by:
getResultSet in interface java.sql.Statement
Throws:
java.sql.SQLException

getResultSet

protected java.sql.ResultSet getResultSet(boolean wrap)
                                   throws java.sql.SQLException
Get the last result set, with the option of not wrapping it in a DelegatingResultSet, which is the default.

Throws:
java.sql.SQLException

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 i)
                       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 i)
                  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 str)
              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

executeBatch

public int[] executeBatch()
                   throws java.sql.SQLException
Specified by:
executeBatch 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

executeQuery

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

executeQuery

protected java.sql.ResultSet executeQuery(boolean wrap)
                                   throws java.sql.SQLException
Execute the query, with the option of not wrapping it in a DelegatingResultSet, which is the default.

Throws:
java.sql.SQLException

executeUpdate

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

setNull

public void setNull(int i1,
                    int i2)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setBoolean

public void setBoolean(int i,
                       boolean b)
                throws java.sql.SQLException
Specified by:
setBoolean in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setByte

public void setByte(int i,
                    byte b)
             throws java.sql.SQLException
Specified by:
setByte in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setShort

public void setShort(int i,
                     short s)
              throws java.sql.SQLException
Specified by:
setShort in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setInt

public void setInt(int i1,
                   int i2)
            throws java.sql.SQLException
Specified by:
setInt in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setLong

public void setLong(int i,
                    long l)
             throws java.sql.SQLException
Specified by:
setLong in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setFloat

public void setFloat(int i,
                     float f)
              throws java.sql.SQLException
Specified by:
setFloat in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setDouble

public void setDouble(int i,
                      double d)
               throws java.sql.SQLException
Specified by:
setDouble in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setBigDecimal

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

setString

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

setBytes

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

setDate

public void setDate(int i,
                    java.sql.Date d)
             throws java.sql.SQLException
Specified by:
setDate in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setTime

public void setTime(int i,
                    java.sql.Time t)
             throws java.sql.SQLException
Specified by:
setTime in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setTimestamp

public void setTimestamp(int i,
                         java.sql.Timestamp t)
                  throws java.sql.SQLException
Specified by:
setTimestamp in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setAsciiStream

public void setAsciiStream(int i1,
                           java.io.InputStream is,
                           int i2)
                    throws java.sql.SQLException
Specified by:
setAsciiStream in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setUnicodeStream

public void setUnicodeStream(int i1,
                             java.io.InputStream is,
                             int i2)
                      throws java.sql.SQLException
Deprecated. 

Specified by:
setUnicodeStream in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setBinaryStream

public void setBinaryStream(int i1,
                            java.io.InputStream is,
                            int i2)
                     throws java.sql.SQLException
Specified by:
setBinaryStream in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

clearParameters

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

setObject

public void setObject(int i1,
                      java.lang.Object o,
                      int i2,
                      int i3)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setObject

public void setObject(int i1,
                      java.lang.Object o,
                      int i2)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setObject

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

execute

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

addBatch

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

setCharacterStream

public void setCharacterStream(int i1,
                               java.io.Reader r,
                               int i2)
                        throws java.sql.SQLException
Specified by:
setCharacterStream in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setRef

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

setBlob

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

setClob

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

setArray

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

getMetaData

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

setDate

public void setDate(int i,
                    java.sql.Date d,
                    java.util.Calendar c)
             throws java.sql.SQLException
Specified by:
setDate in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setTime

public void setTime(int i,
                    java.sql.Time t,
                    java.util.Calendar c)
             throws java.sql.SQLException
Specified by:
setTime in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setTimestamp

public void setTimestamp(int i,
                         java.sql.Timestamp t,
                         java.util.Calendar c)
                  throws java.sql.SQLException
Specified by:
setTimestamp in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

setNull

public void setNull(int i1,
                    int i2,
                    java.lang.String s)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

getMoreResults

public boolean getMoreResults(int i)
                       throws java.sql.SQLException
Specified by:
getMoreResults 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

executeUpdate

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

executeUpdate

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

executeUpdate

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

execute

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

execute

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

execute

public boolean execute(java.lang.String s,
                       java.lang.String[] sa)
                throws java.sql.SQLException
Specified by:
execute 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

setURL

public void setURL(int i,
                   java.net.URL url)
            throws java.sql.SQLException
Specified by:
setURL in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

getParameterMetaData

public java.sql.ParameterMetaData getParameterMetaData()
                                                throws java.sql.SQLException
Specified by:
getParameterMetaData in interface java.sql.PreparedStatement
Throws:
java.sql.SQLException

isWrapperFor

public boolean isWrapperFor(java.lang.Class iface)
Specified by:
isWrapperFor in interface java.sql.Wrapper

unwrap

public java.lang.Object unwrap(java.lang.Class iface)
Specified by:
unwrap in interface java.sql.Wrapper