Package org.apache.openjpa.lib.jdbc
Class DelegatingConnection
- java.lang.Object
-
- org.apache.openjpa.lib.jdbc.DelegatingConnection
-
- All Implemented Interfaces:
AutoCloseable
,Connection
,Wrapper
,Closeable
- Direct Known Subclasses:
ConfiguringConnectionDecorator.ConfiguringConnection
,LoggingConnectionDecorator.LoggingConnection
public class DelegatingConnection extends Object implements 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
-
-
Field Summary
-
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
-
Constructor Summary
Constructors Constructor Description DelegatingConnection(Connection conn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort(Executor executor)
protected void
appendInfo(StringBuffer buf)
void
clearWarnings()
void
close()
void
commit()
Array
createArrayOf(String typeName, Object[] elements)
Blob
createBlob()
Clob
createClob()
NClob
createNClob()
SQLXML
createSQLXML()
Statement
createStatement()
protected Statement
createStatement(boolean wrap)
Create a statement, with the option of not wrapping it in aDelegatingStatement
, which is the default.Statement
createStatement(int type, int concur)
protected Statement
createStatement(int type, int concur, boolean wrap)
Create a statement, with the option of not wrapping it in aDelegatingStatement
, which is the default.Statement
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
protected Statement
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
Struct
createStruct(String typeName, Object[] attributes)
boolean
equals(Object other)
boolean
getAutoCommit()
String
getCatalog()
Properties
getClientInfo()
String
getClientInfo(String name)
Connection
getDelegate()
Return the wrapped connection.int
getHoldability()
Connection
getInnermostDelegate()
Return the base underlying data store connection.DatabaseMetaData
getMetaData()
protected DatabaseMetaData
getMetaData(boolean wrap)
Return the metadata, with the option of not wrapping it in aDelegatingDatabaseMetaData
, which is the default.int
getNetworkTimeout()
String
getSchema()
int
getTransactionIsolation()
Map<String,Class<?>>
getTypeMap()
SQLWarning
getWarnings()
int
hashCode()
boolean
isClosed()
boolean
isReadOnly()
boolean
isValid(int timeout)
boolean
isWrapperFor(Class<?> iface)
String
nativeSQL(String str)
CallableStatement
prepareCall(String str)
protected CallableStatement
prepareCall(String str, boolean wrap)
Prepare a call, with the option of not wrapping it in aDelegatingCallableStatement
, which is the default.CallableStatement
prepareCall(String str, int type, int concur)
protected CallableStatement
prepareCall(String str, int type, int concur, boolean wrap)
Prepare a call, with the option of not wrapping it in aDelegatingCallableStatement
, which is the default.CallableStatement
prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
protected CallableStatement
prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
PreparedStatement
prepareStatement(String str)
protected PreparedStatement
prepareStatement(String str, boolean wrap)
Prepare a statement, with the option of not wrapping it in aDelegatingPreparedStatement
, which is the default.PreparedStatement
prepareStatement(String sql, int autoGeneratedKeys)
PreparedStatement
prepareStatement(String sql, int[] columnIndexes)
protected PreparedStatement
prepareStatement(String sql, int[] columnIndexes, boolean wrap)
protected PreparedStatement
prepareStatement(String sql, int autoGeneratedKeys, boolean wrap)
PreparedStatement
prepareStatement(String str, int type, int concur)
protected PreparedStatement
prepareStatement(String str, int type, int concur, boolean wrap)
Prepare a statement, with the option of not wrapping it in aDelegatingPreparedStatement
, which is the default.PreparedStatement
prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
protected PreparedStatement
prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap)
PreparedStatement
prepareStatement(String sql, String[] columnNames)
protected PreparedStatement
prepareStatement(String sql, String[] columnNames, boolean wrap)
void
releaseSavepoint(Savepoint savepoint)
void
rollback()
void
rollback(Savepoint savepoint)
void
setAutoCommit(boolean bool)
void
setCatalog(String str)
void
setClientInfo(String name, String value)
void
setClientInfo(Properties properties)
void
setHoldability(int holdability)
void
setNetworkTimeout(Executor executor, int milliseconds)
void
setReadOnly(boolean bool)
Savepoint
setSavepoint()
Savepoint
setSavepoint(String savepoint)
void
setSchema(String schema)
void
setTransactionIsolation(int i)
void
setTypeMap(Map<String,Class<?>> map)
String
toString()
<T> T
unwrap(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.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
-
-
-
Constructor Detail
-
DelegatingConnection
public DelegatingConnection(Connection conn)
-
-
Method Detail
-
getDelegate
public Connection getDelegate()
Return the wrapped connection.
-
getInnermostDelegate
public Connection getInnermostDelegate()
Return the base underlying data store connection.
-
appendInfo
protected void appendInfo(StringBuffer buf)
-
createStatement
public Statement createStatement() throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStatement
protected Statement createStatement(boolean wrap) throws SQLException
Create a statement, with the option of not wrapping it in aDelegatingStatement
, which is the default.- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String str) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String str, boolean wrap) throws SQLException
Prepare a statement, with the option of not wrapping it in aDelegatingPreparedStatement
, which is the default.- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String str) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareCall
protected CallableStatement prepareCall(String str, boolean wrap) throws SQLException
Prepare a call, with the option of not wrapping it in aDelegatingCallableStatement
, which is the default.- Throws:
SQLException
-
nativeSQL
public String nativeSQL(String str) throws SQLException
- Specified by:
nativeSQL
in interfaceConnection
- Throws:
SQLException
-
setAutoCommit
public void setAutoCommit(boolean bool) throws SQLException
- Specified by:
setAutoCommit
in interfaceConnection
- Throws:
SQLException
-
getAutoCommit
public boolean getAutoCommit() throws SQLException
- Specified by:
getAutoCommit
in interfaceConnection
- Throws:
SQLException
-
commit
public void commit() throws SQLException
- Specified by:
commit
in interfaceConnection
- Throws:
SQLException
-
rollback
public void rollback() throws SQLException
- Specified by:
rollback
in interfaceConnection
- Throws:
SQLException
-
close
public void close() throws SQLException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceConnection
- Throws:
SQLException
-
isClosed
public boolean isClosed() throws SQLException
- Specified by:
isClosed
in interfaceConnection
- Throws:
SQLException
-
getMetaData
public DatabaseMetaData getMetaData() throws SQLException
- Specified by:
getMetaData
in interfaceConnection
- Throws:
SQLException
-
getMetaData
protected DatabaseMetaData getMetaData(boolean wrap) throws SQLException
Return the metadata, with the option of not wrapping it in aDelegatingDatabaseMetaData
, which is the default.- Throws:
SQLException
-
setReadOnly
public void setReadOnly(boolean bool) throws SQLException
- Specified by:
setReadOnly
in interfaceConnection
- Throws:
SQLException
-
isReadOnly
public boolean isReadOnly() throws SQLException
- Specified by:
isReadOnly
in interfaceConnection
- Throws:
SQLException
-
setCatalog
public void setCatalog(String str) throws SQLException
- Specified by:
setCatalog
in interfaceConnection
- Throws:
SQLException
-
getCatalog
public String getCatalog() throws SQLException
- Specified by:
getCatalog
in interfaceConnection
- Throws:
SQLException
-
setTransactionIsolation
public void setTransactionIsolation(int i) throws SQLException
- Specified by:
setTransactionIsolation
in interfaceConnection
- Throws:
SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws SQLException
- Specified by:
getTransactionIsolation
in interfaceConnection
- Throws:
SQLException
-
getWarnings
public SQLWarning getWarnings() throws SQLException
- Specified by:
getWarnings
in interfaceConnection
- Throws:
SQLException
-
clearWarnings
public void clearWarnings() throws SQLException
- Specified by:
clearWarnings
in interfaceConnection
- Throws:
SQLException
-
createStatement
public Statement createStatement(int type, int concur) throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStatement
protected Statement createStatement(int type, int concur, boolean wrap) throws SQLException
Create a statement, with the option of not wrapping it in aDelegatingStatement
, which is the default.- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String str, int type, int concur) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String str, int type, int concur, boolean wrap) throws SQLException
Prepare a statement, with the option of not wrapping it in aDelegatingPreparedStatement
, which is the default.- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String str, int type, int concur) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareCall
protected CallableStatement prepareCall(String str, int type, int concur, boolean wrap) throws SQLException
Prepare a call, with the option of not wrapping it in aDelegatingCallableStatement
, which is the default.- Throws:
SQLException
-
getTypeMap
public Map<String,Class<?>> getTypeMap() throws SQLException
- Specified by:
getTypeMap
in interfaceConnection
- Throws:
SQLException
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
- Specified by:
setTypeMap
in interfaceConnection
- Throws:
SQLException
-
setHoldability
public void setHoldability(int holdability) throws SQLException
- Specified by:
setHoldability
in interfaceConnection
- Throws:
SQLException
-
getHoldability
public int getHoldability() throws SQLException
- Specified by:
getHoldability
in interfaceConnection
- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint() throws SQLException
- Specified by:
setSavepoint
in interfaceConnection
- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint(String savepoint) throws SQLException
- Specified by:
setSavepoint
in interfaceConnection
- Throws:
SQLException
-
rollback
public void rollback(Savepoint savepoint) throws SQLException
- Specified by:
rollback
in interfaceConnection
- Throws:
SQLException
-
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint) throws SQLException
- Specified by:
releaseSavepoint
in interfaceConnection
- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStatement
protected Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap) throws SQLException
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap) throws SQLException
- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareCall
protected CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean wrap) throws SQLException
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String sql, int autoGeneratedKeys, boolean wrap) throws SQLException
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String sql, int[] columnIndexes, boolean wrap) throws SQLException
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String sql, String[] columnNames, boolean wrap) throws SQLException
- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws 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 interfaceWrapper
- Throws:
SQLException
-
createArrayOf
public Array createArrayOf(String typeName, Object[] elements) throws SQLException
- Specified by:
createArrayOf
in interfaceConnection
- Throws:
SQLException
-
createBlob
public Blob createBlob() throws SQLException
- Specified by:
createBlob
in interfaceConnection
- Throws:
SQLException
-
createClob
public Clob createClob() throws SQLException
- Specified by:
createClob
in interfaceConnection
- Throws:
SQLException
-
createNClob
public NClob createNClob() throws SQLException
- Specified by:
createNClob
in interfaceConnection
- Throws:
SQLException
-
createSQLXML
public SQLXML createSQLXML() throws SQLException
- Specified by:
createSQLXML
in interfaceConnection
- Throws:
SQLException
-
createStruct
public Struct createStruct(String typeName, Object[] attributes) throws SQLException
- Specified by:
createStruct
in interfaceConnection
- Throws:
SQLException
-
getClientInfo
public Properties getClientInfo() throws SQLException
- Specified by:
getClientInfo
in interfaceConnection
- Throws:
SQLException
-
getClientInfo
public String getClientInfo(String name) throws SQLException
- Specified by:
getClientInfo
in interfaceConnection
- Throws:
SQLException
-
isValid
public boolean isValid(int timeout) throws SQLException
- Specified by:
isValid
in interfaceConnection
- Throws:
SQLException
-
setClientInfo
public void setClientInfo(Properties properties) throws SQLClientInfoException
- Specified by:
setClientInfo
in interfaceConnection
- Throws:
SQLClientInfoException
-
setClientInfo
public void setClientInfo(String name, String value) throws SQLClientInfoException
- Specified by:
setClientInfo
in interfaceConnection
- Throws:
SQLClientInfoException
-
abort
public void abort(Executor executor) throws SQLException
- Specified by:
abort
in interfaceConnection
- Throws:
SQLException
-
getNetworkTimeout
public int getNetworkTimeout() throws SQLException
- Specified by:
getNetworkTimeout
in interfaceConnection
- Throws:
SQLException
-
setNetworkTimeout
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
- Specified by:
setNetworkTimeout
in interfaceConnection
- Throws:
SQLException
-
getSchema
public String getSchema() throws SQLException
- Specified by:
getSchema
in interfaceConnection
- Throws:
SQLException
-
setSchema
public void setSchema(String schema) throws SQLException
- Specified by:
setSchema
in interfaceConnection
- Throws:
SQLException
-
-