org.apache.openjpa.lib.jdbc
Class DelegatingConnection

java.lang.Object
  extended by org.apache.openjpa.lib.jdbc.DelegatingConnection
All Implemented Interfaces:
java.sql.Connection, java.sql.Wrapper, Closeable
Direct Known Subclasses:
ConfiguringConnectionDecorator.ConfiguringConnection, JDBCEventConnectionDecorator.EventConnection, JDBCStoreManager.ClientConnection, JDBCStoreManager.RefCountConnection, LoggingConnectionDecorator.LoggingConnection, PostgresDictionary.PostgresConnection, SybaseDictionary.SybaseConnection

public abstract class DelegatingConnection
extends java.lang.Object
implements java.sql.Connection, Closeable

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

Author:
Abe White

Field Summary
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
DelegatingConnection(java.sql.Connection conn)
           
 
Method Summary
protected  void appendInfo(java.lang.StringBuffer buf)
           
 void clearWarnings()
           
 void close()
           
 void commit()
           
 java.sql.Statement createStatement()
           
protected  java.sql.Statement createStatement(boolean wrap)
          Create a statement, with the option of not wrapping it in a DelegatingStatement, which is the default.
 java.sql.Statement createStatement(int type, int concur)
           
protected  java.sql.Statement createStatement(int type, int concur, boolean wrap)
          Create a statement, with the option of not wrapping it in a DelegatingStatement, which is the default.
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
protected  java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
           
protected abstract  void enforceAbstract()
          Marker to enforce that subclasses of this class are abstract.
 boolean equals(java.lang.Object other)
           
 boolean getAutoCommit()
           
 java.lang.String getCatalog()
           
 java.sql.Connection getDelegate()
          Return the wrapped connection.
 int getHoldability()
           
 java.sql.Connection getInnermostDelegate()
          Return the base underlying data store connection.
 java.sql.DatabaseMetaData getMetaData()
           
protected  java.sql.DatabaseMetaData getMetaData(boolean wrap)
          Return the metadata, with the option of not wrapping it in a DelegatingDatabaseMetaData, which is the default.
 int getTransactionIsolation()
           
 java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
           
 java.sql.SQLWarning getWarnings()
           
 int hashCode()
           
 boolean isClosed()
           
 boolean isReadOnly()
           
 boolean isWrapperFor(java.lang.Class iface)
           
 java.lang.String nativeSQL(java.lang.String str)
           
static DelegatingConnection newInstance(java.sql.Connection conn)
          Constructor for the concrete implementation of this abstract class.
 java.sql.CallableStatement prepareCall(java.lang.String str)
           
protected  java.sql.CallableStatement prepareCall(java.lang.String str, boolean wrap)
          Prepare a call, with the option of not wrapping it in a DelegatingCallableStatement, which is the default.
 java.sql.CallableStatement prepareCall(java.lang.String str, int type, int concur)
           
protected  java.sql.CallableStatement prepareCall(java.lang.String str, int type, int concur, boolean wrap)
          Prepare a call, with the option of not wrapping it in a DelegatingCallableStatement, which is the default.
 java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
protected  java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
           
 java.sql.PreparedStatement prepareStatement(java.lang.String str)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String str, boolean wrap)
          Prepare a statement, with the option of not wrapping it in a DelegatingPreparedStatement, which is the default.
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
           
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes, boolean wrap)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys, boolean wrap)
           
 java.sql.PreparedStatement prepareStatement(java.lang.String str, int type, int concur)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String str, int type, int concur, boolean wrap)
          Prepare a statement, with the option of not wrapping it in a DelegatingPreparedStatement, which is the default.
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
           
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
           
protected  java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames, boolean wrap)
           
 void releaseSavepoint(java.sql.Savepoint savepoint)
           
 void rollback()
           
 void rollback(java.sql.Savepoint savepoint)
           
 void setAutoCommit(boolean bool)
           
 void setCatalog(java.lang.String str)
           
 void setHoldability(int holdability)
           
 void setReadOnly(boolean bool)
           
 java.sql.Savepoint setSavepoint()
           
 java.sql.Savepoint setSavepoint(java.lang.String savepoint)
           
 void setTransactionIsolation(int i)
           
 void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
           
 java.lang.String toString()
           
 java.lang.Object unwrap(java.lang.Class iface)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.sql.Connection
createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStruct, getClientInfo, getClientInfo, isValid, setClientInfo, setClientInfo
 

Constructor Detail

DelegatingConnection

public DelegatingConnection(java.sql.Connection conn)
Method Detail

newInstance

public static DelegatingConnection newInstance(java.sql.Connection conn)
Constructor for the concrete implementation of this abstract class.


enforceAbstract

protected abstract void enforceAbstract()
Marker to enforce that subclasses of this class are abstract.


getDelegate

public java.sql.Connection getDelegate()
Return the wrapped connection.


getInnermostDelegate

public java.sql.Connection getInnermostDelegate()
Return the base underlying data store connection.


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)

createStatement

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

createStatement

protected java.sql.Statement createStatement(boolean wrap)
                                      throws java.sql.SQLException
Create a statement, with the option of not wrapping it in a DelegatingStatement, which is the default.

Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String str)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String str,
                                                      boolean wrap)
                                               throws java.sql.SQLException
Prepare a statement, with the option of not wrapping it in a DelegatingPreparedStatement, which is the default.

Throws:
java.sql.SQLException

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String str)
                                       throws java.sql.SQLException
Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareCall

protected java.sql.CallableStatement prepareCall(java.lang.String str,
                                                 boolean wrap)
                                          throws java.sql.SQLException
Prepare a call, with the option of not wrapping it in a DelegatingCallableStatement, which is the default.

Throws:
java.sql.SQLException

nativeSQL

public java.lang.String nativeSQL(java.lang.String str)
                           throws java.sql.SQLException
Specified by:
nativeSQL in interface java.sql.Connection
Throws:
java.sql.SQLException

setAutoCommit

public void setAutoCommit(boolean bool)
                   throws java.sql.SQLException
Specified by:
setAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException

getAutoCommit

public boolean getAutoCommit()
                      throws java.sql.SQLException
Specified by:
getAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException

commit

public void commit()
            throws java.sql.SQLException
Specified by:
commit in interface java.sql.Connection
Throws:
java.sql.SQLException

rollback

public void rollback()
              throws java.sql.SQLException
Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException

close

public void close()
           throws java.sql.SQLException
Specified by:
close in interface java.sql.Connection
Specified by:
close in interface Closeable
Throws:
java.sql.SQLException

isClosed

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

getMetaData

public java.sql.DatabaseMetaData getMetaData()
                                      throws java.sql.SQLException
Specified by:
getMetaData in interface java.sql.Connection
Throws:
java.sql.SQLException

getMetaData

protected java.sql.DatabaseMetaData getMetaData(boolean wrap)
                                         throws java.sql.SQLException
Return the metadata, with the option of not wrapping it in a DelegatingDatabaseMetaData, which is the default.

Throws:
java.sql.SQLException

setReadOnly

public void setReadOnly(boolean bool)
                 throws java.sql.SQLException
Specified by:
setReadOnly in interface java.sql.Connection
Throws:
java.sql.SQLException

isReadOnly

public boolean isReadOnly()
                   throws java.sql.SQLException
Specified by:
isReadOnly in interface java.sql.Connection
Throws:
java.sql.SQLException

setCatalog

public void setCatalog(java.lang.String str)
                throws java.sql.SQLException
Specified by:
setCatalog in interface java.sql.Connection
Throws:
java.sql.SQLException

getCatalog

public java.lang.String getCatalog()
                            throws java.sql.SQLException
Specified by:
getCatalog in interface java.sql.Connection
Throws:
java.sql.SQLException

setTransactionIsolation

public void setTransactionIsolation(int i)
                             throws java.sql.SQLException
Specified by:
setTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException

getTransactionIsolation

public int getTransactionIsolation()
                            throws java.sql.SQLException
Specified by:
getTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException

getWarnings

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

clearWarnings

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

createStatement

public java.sql.Statement createStatement(int type,
                                          int concur)
                                   throws java.sql.SQLException
Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

createStatement

protected java.sql.Statement createStatement(int type,
                                             int concur,
                                             boolean wrap)
                                      throws java.sql.SQLException
Create a statement, with the option of not wrapping it in a DelegatingStatement, which is the default.

Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String str,
                                                   int type,
                                                   int concur)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String str,
                                                      int type,
                                                      int concur,
                                                      boolean wrap)
                                               throws java.sql.SQLException
Prepare a statement, with the option of not wrapping it in a DelegatingPreparedStatement, which is the default.

Throws:
java.sql.SQLException

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String str,
                                              int type,
                                              int concur)
                                       throws java.sql.SQLException
Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareCall

protected java.sql.CallableStatement prepareCall(java.lang.String str,
                                                 int type,
                                                 int concur,
                                                 boolean wrap)
                                          throws java.sql.SQLException
Prepare a call, with the option of not wrapping it in a DelegatingCallableStatement, which is the default.

Throws:
java.sql.SQLException

getTypeMap

public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
                                                              throws java.sql.SQLException
Specified by:
getTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException

setTypeMap

public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                throws java.sql.SQLException
Specified by:
setTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException

setHoldability

public void setHoldability(int holdability)
                    throws java.sql.SQLException
Specified by:
setHoldability in interface java.sql.Connection
Throws:
java.sql.SQLException

getHoldability

public int getHoldability()
                   throws java.sql.SQLException
Specified by:
getHoldability in interface java.sql.Connection
Throws:
java.sql.SQLException

setSavepoint

public java.sql.Savepoint setSavepoint()
                                throws java.sql.SQLException
Specified by:
setSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException

setSavepoint

public java.sql.Savepoint setSavepoint(java.lang.String savepoint)
                                throws java.sql.SQLException
Specified by:
setSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException

rollback

public void rollback(java.sql.Savepoint savepoint)
              throws java.sql.SQLException
Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException

releaseSavepoint

public void releaseSavepoint(java.sql.Savepoint savepoint)
                      throws java.sql.SQLException
Specified by:
releaseSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException

createStatement

public java.sql.Statement createStatement(int resultSetType,
                                          int resultSetConcurrency,
                                          int resultSetHoldability)
                                   throws java.sql.SQLException
Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

createStatement

protected java.sql.Statement createStatement(int resultSetType,
                                             int resultSetConcurrency,
                                             int resultSetHoldability,
                                             boolean wrap)
                                      throws java.sql.SQLException
Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int resultSetType,
                                                   int resultSetConcurrency,
                                                   int resultSetHoldability)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                      int resultSetType,
                                                      int resultSetConcurrency,
                                                      int resultSetHoldability,
                                                      boolean wrap)
                                               throws java.sql.SQLException
Throws:
java.sql.SQLException

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                              int resultSetType,
                                              int resultSetConcurrency,
                                              int resultSetHoldability)
                                       throws java.sql.SQLException
Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareCall

protected java.sql.CallableStatement prepareCall(java.lang.String sql,
                                                 int resultSetType,
                                                 int resultSetConcurrency,
                                                 int resultSetHoldability,
                                                 boolean wrap)
                                          throws java.sql.SQLException
Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int autoGeneratedKeys)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                      int autoGeneratedKeys,
                                                      boolean wrap)
                                               throws java.sql.SQLException
Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int[] columnIndexes)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                      int[] columnIndexes,
                                                      boolean wrap)
                                               throws java.sql.SQLException
Throws:
java.sql.SQLException

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   java.lang.String[] columnNames)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareStatement

protected java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                      java.lang.String[] columnNames,
                                                      boolean wrap)
                                               throws java.sql.SQLException
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