de.mguennewig.pobjects.jdbc
Class PreparedStatementHandler

java.lang.Object
  extended by de.mguennewig.pobjects.jdbc.PreparedStatementHandler
All Implemented Interfaces:
java.lang.reflect.InvocationHandler

public class PreparedStatementHandler
extends java.lang.Object
implements java.lang.reflect.InvocationHandler

An invocation handler for a PreparedStatement.

This handler can be used as wrapper around any prepared statement and the toString() method returns the performed SQL statement.

Author:
Michael Günnewig

Constructor Summary
PreparedStatementHandler(java.sql.Connection con, java.lang.String sql)
          Creates a new instance of PreparedStatementWrapper.
PreparedStatementHandler(java.sql.Connection con, java.lang.String sql, int scrollType, int concurrType)
          Creates a new instance of PreparedStatementWrapper.
 
Method Summary
 void clearParameters()
           
 void close()
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
          
 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 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 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 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)
           
 void setURL(int parameterIndex, java.net.URL x)
           
 java.lang.String toString()
          
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PreparedStatementHandler

public PreparedStatementHandler(java.sql.Connection con,
                                java.lang.String sql)
                         throws java.sql.SQLException
Creates a new instance of PreparedStatementWrapper.

Throws:
java.sql.SQLException

PreparedStatementHandler

public PreparedStatementHandler(java.sql.Connection con,
                                java.lang.String sql,
                                int scrollType,
                                int concurrType)
                         throws java.sql.SQLException
Creates a new instance of PreparedStatementWrapper.

Throws:
java.sql.SQLException
Method Detail

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable

Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

clearParameters

public void clearParameters()
                     throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.clearParameters()

setArray

public void setArray(int i,
                     java.sql.Array x)
              throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setArray(int, java.sql.Array)

setAsciiStream

public void setAsciiStream(int parameterIndex,
                           java.io.InputStream x,
                           int length)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setAsciiStream(int, java.io.InputStream, int)

setBigDecimal

public void setBigDecimal(int parameterIndex,
                          java.math.BigDecimal x)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setBigDecimal(int, java.math.BigDecimal)

setBinaryStream

public void setBinaryStream(int parameterIndex,
                            java.io.InputStream x,
                            int length)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setBinaryStream(int, java.io.InputStream, int)

setBlob

public void setBlob(int i,
                    java.sql.Blob x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setBlob(int, java.sql.Blob)

setBoolean

public void setBoolean(int parameterIndex,
                       boolean x)
                throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setBoolean(int, boolean)

setByte

public void setByte(int parameterIndex,
                    byte x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setByte(int, byte)

setBytes

public void setBytes(int parameterIndex,
                     byte[] x)
              throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setBytes(int, byte[])

setCharacterStream

public void setCharacterStream(int parameterIndex,
                               java.io.Reader reader,
                               int length)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setCharacterStream(int, java.io.Reader, int)

setClob

public void setClob(int i,
                    java.sql.Clob x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setClob(int, java.sql.Clob)

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setDate(int, java.sql.Date)

setDate

public void setDate(int parameterIndex,
                    java.sql.Date x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setDate(int, java.sql.Date, java.util.Calendar)

setDouble

public void setDouble(int parameterIndex,
                      double x)
               throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setDouble(int, double)

setFloat

public void setFloat(int parameterIndex,
                     float x)
              throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setFloat(int, float)

setInt

public void setInt(int parameterIndex,
                   int x)
            throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setInt(int, int)

setLong

public void setLong(int parameterIndex,
                    long x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setLong(int, long)

setNull

public void setNull(int parameterIndex,
                    int sqlType)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setNull(int, int)

setNull

public void setNull(int paramIndex,
                    int sqlType,
                    java.lang.String typeName)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setNull(int, int, java.lang.String)

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x)
               throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setObject(int, java.lang.Object)

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x,
                      int targetSqlType)
               throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setObject(int, java.lang.Object, int)

setObject

public void setObject(int parameterIndex,
                      java.lang.Object x,
                      int targetSqlType,
                      int scale)
               throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setObject(int, java.lang.Object, int, int)

setRef

public void setRef(int i,
                   java.sql.Ref x)
            throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setRef(int, java.sql.Ref)

setShort

public void setShort(int parameterIndex,
                     short x)
              throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setShort(int, short)

setString

public void setString(int parameterIndex,
                      java.lang.String x)
               throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setString(int, java.lang.String)

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setTime(int, java.sql.Time)

setTime

public void setTime(int parameterIndex,
                    java.sql.Time x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setTime(int, java.sql.Time, java.util.Calendar)

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x)
                  throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setTimestamp(int, java.sql.Timestamp)

setTimestamp

public void setTimestamp(int parameterIndex,
                         java.sql.Timestamp x,
                         java.util.Calendar cal)
                  throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setTimestamp(int, java.sql.Timestamp, java.util.Calendar)

setURL

public void setURL(int parameterIndex,
                   java.net.URL x)
            throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
PreparedStatement.setURL(int, java.net.URL)

close

public void close()
           throws java.sql.SQLException
Throws:
java.sql.SQLException
See Also:
Statement.close()

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object