Package org.apache.openjpa.lib.jdbc
Class DelegatingConnection
- java.lang.Object
-
- org.apache.openjpa.lib.jdbc.DelegatingConnection
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.sql.Connection
,java.sql.Wrapper
,Closeable
- Direct Known Subclasses:
ConfiguringConnectionDecorator.ConfiguringConnection
,JDBCStoreManager.ClientConnection
,JDBCStoreManager.RefCountConnection
,LoggingConnectionDecorator.LoggingConnection
,PostgresDictionary.PostgresConnection
,SybaseDictionary.SybaseConnection
public 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. Theequals
andhashCode
methods pass through to the base underlying data store connection.- Author:
- Abe White
-
-
Constructor Summary
Constructors Constructor Description DelegatingConnection(java.sql.Connection conn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort(java.util.concurrent.Executor executor)
protected void
appendInfo(java.lang.StringBuffer buf)
void
clearWarnings()
void
close()
void
commit()
java.sql.Array
createArrayOf(java.lang.String typeName, java.lang.Object[] elements)
java.sql.Blob
createBlob()
java.sql.Clob
createClob()
java.sql.NClob
createNClob()
java.sql.SQLXML
createSQLXML()
java.sql.Statement
createStatement()
protected java.sql.Statement
createStatement(boolean wrap)
Create a statement, with the option of not wrapping it in aDelegatingStatement
, 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 aDelegatingStatement
, 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)
java.sql.Struct
createStruct(java.lang.String typeName, java.lang.Object[] attributes)
boolean
equals(java.lang.Object other)
boolean
getAutoCommit()
java.lang.String
getCatalog()
java.util.Properties
getClientInfo()
java.lang.String
getClientInfo(java.lang.String name)
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 aDelegatingDatabaseMetaData
, which is the default.int
getNetworkTimeout()
java.lang.String
getSchema()
int
getTransactionIsolation()
java.util.Map<java.lang.String,java.lang.Class<?>>
getTypeMap()
java.sql.SQLWarning
getWarnings()
int
hashCode()
boolean
isClosed()
boolean
isReadOnly()
boolean
isValid(int timeout)
boolean
isWrapperFor(java.lang.Class<?> iface)
java.lang.String
nativeSQL(java.lang.String str)
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 aDelegatingCallableStatement
, 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 aDelegatingCallableStatement
, 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 aDelegatingPreparedStatement
, 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 aDelegatingPreparedStatement
, 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
setClientInfo(java.lang.String name, java.lang.String value)
void
setClientInfo(java.util.Properties properties)
void
setHoldability(int holdability)
void
setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)
void
setReadOnly(boolean bool)
java.sql.Savepoint
setSavepoint()
java.sql.Savepoint
setSavepoint(java.lang.String savepoint)
void
setSchema(java.lang.String schema)
void
setTransactionIsolation(int i)
void
setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
java.lang.String
toString()
<T> T
unwrap(java.lang.Class<T> iface)
From java.sql.Wrapper javadoc: Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.
-
-
-
Method Detail
-
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 classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
appendInfo
protected void appendInfo(java.lang.StringBuffer buf)
-
createStatement
public java.sql.Statement createStatement() throws java.sql.SQLException
- Specified by:
createStatement
in interfacejava.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 aDelegatingStatement
, 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 interfacejava.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 aDelegatingPreparedStatement
, 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 interfacejava.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 aDelegatingCallableStatement
, 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 interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setAutoCommit
public void setAutoCommit(boolean bool) throws java.sql.SQLException
- Specified by:
setAutoCommit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getAutoCommit
public boolean getAutoCommit() throws java.sql.SQLException
- Specified by:
getAutoCommit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
commit
public void commit() throws java.sql.SQLException
- Specified by:
commit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLException
- Specified by:
rollback
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
close
public void close() throws java.sql.SQLException
-
isClosed
public boolean isClosed() throws java.sql.SQLException
- Specified by:
isClosed
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getMetaData
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
- Specified by:
getMetaData
in interfacejava.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 aDelegatingDatabaseMetaData
, which is the default.- Throws:
java.sql.SQLException
-
setReadOnly
public void setReadOnly(boolean bool) throws java.sql.SQLException
- Specified by:
setReadOnly
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
isReadOnly
public boolean isReadOnly() throws java.sql.SQLException
- Specified by:
isReadOnly
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setCatalog
public void setCatalog(java.lang.String str) throws java.sql.SQLException
- Specified by:
setCatalog
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getCatalog
public java.lang.String getCatalog() throws java.sql.SQLException
- Specified by:
getCatalog
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setTransactionIsolation
public void setTransactionIsolation(int i) throws java.sql.SQLException
- Specified by:
setTransactionIsolation
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws java.sql.SQLException
- Specified by:
getTransactionIsolation
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getWarnings
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
- Specified by:
getWarnings
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
clearWarnings
public void clearWarnings() throws java.sql.SQLException
- Specified by:
clearWarnings
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createStatement
public java.sql.Statement createStatement(int type, int concur) throws java.sql.SQLException
- Specified by:
createStatement
in interfacejava.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 aDelegatingStatement
, 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 interfacejava.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 aDelegatingPreparedStatement
, 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 interfacejava.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 aDelegatingCallableStatement
, 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 interfacejava.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 interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setHoldability
public void setHoldability(int holdability) throws java.sql.SQLException
- Specified by:
setHoldability
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getHoldability
public int getHoldability() throws java.sql.SQLException
- Specified by:
getHoldability
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
- Specified by:
setSavepoint
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint(java.lang.String savepoint) throws java.sql.SQLException
- Specified by:
setSavepoint
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
rollback
public void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLException
- Specified by:
rollback
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
releaseSavepoint
public void releaseSavepoint(java.sql.Savepoint savepoint) throws java.sql.SQLException
- Specified by:
releaseSavepoint
in interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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) throws java.sql.SQLException
- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
From java.sql.Wrapper javadoc: Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
createArrayOf
public java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException
- Specified by:
createArrayOf
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createBlob
public java.sql.Blob createBlob() throws java.sql.SQLException
- Specified by:
createBlob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createClob
public java.sql.Clob createClob() throws java.sql.SQLException
- Specified by:
createClob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createNClob
public java.sql.NClob createNClob() throws java.sql.SQLException
- Specified by:
createNClob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createSQLXML
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
- Specified by:
createSQLXML
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createStruct
public java.sql.Struct createStruct(java.lang.String typeName, java.lang.Object[] attributes) throws java.sql.SQLException
- Specified by:
createStruct
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getClientInfo
public java.util.Properties getClientInfo() throws java.sql.SQLException
- Specified by:
getClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getClientInfo
public java.lang.String getClientInfo(java.lang.String name) throws java.sql.SQLException
- Specified by:
getClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
isValid
public boolean isValid(int timeout) throws java.sql.SQLException
- Specified by:
isValid
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setClientInfo
public void setClientInfo(java.util.Properties properties) throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLClientInfoException
-
setClientInfo
public void setClientInfo(java.lang.String name, java.lang.String value) throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLClientInfoException
-
abort
public void abort(java.util.concurrent.Executor executor) throws java.sql.SQLException
- Specified by:
abort
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getNetworkTimeout
public int getNetworkTimeout() throws java.sql.SQLException
- Specified by:
getNetworkTimeout
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setNetworkTimeout
public void setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException
- Specified by:
setNetworkTimeout
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getSchema
public java.lang.String getSchema() throws java.sql.SQLException
- Specified by:
getSchema
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSchema
public void setSchema(java.lang.String schema) throws java.sql.SQLException
- Specified by:
setSchema
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
-