net.sf.log4jdbc
Class ConnectionSpy
java.lang.Object
net.sf.log4jdbc.ConnectionSpy
- All Implemented Interfaces:
- Connection, Wrapper, Spy
public class ConnectionSpy
- extends Object
- implements Connection, Spy
Wraps a JDBC Connection and reports method calls, returns and exceptions.
This version is for jdbc 4.0.
- Author:
- Arthur Blake
- See Also:
for the jdbc 3 version.
-
Constructor Summary |
ConnectionSpy(Connection realConnection)
Create a new ConnectionSpy that wraps a given Connection. |
ConnectionSpy(Connection realConnection,
net.sf.log4jdbc.RdbmsSpecifics rdbmsSpecifics)
Create a new ConnectionSpy that wraps a given Connection. |
Method Summary |
void |
clearWarnings()
|
void |
close()
|
void |
commit()
|
Array |
createArrayOf(String typeName,
Object[] elements)
|
Blob |
createBlob()
|
Clob |
createClob()
|
NClob |
createNClob()
|
SQLXML |
createSQLXML()
|
Statement |
createStatement()
|
Statement |
createStatement(int resultSetType,
int resultSetConcurrency)
|
Statement |
createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
Struct |
createStruct(String typeName,
Object[] attributes)
|
boolean |
getAutoCommit()
|
String |
getCatalog()
|
String |
getClassType()
Get the type of class being spied upon. |
Properties |
getClientInfo()
|
String |
getClientInfo(String name)
|
int |
getConnectionNumber()
Get the connection number. |
int |
getHoldability()
|
DatabaseMetaData |
getMetaData()
|
int |
getTransactionIsolation()
|
Map<String,Class<?>> |
getTypeMap()
|
SQLWarning |
getWarnings()
|
boolean |
isClosed()
|
boolean |
isReadOnly()
|
boolean |
isValid(int timeout)
|
boolean |
isWrapperFor(Class<?> iface)
|
String |
nativeSQL(String sql)
|
CallableStatement |
prepareCall(String sql)
|
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency)
|
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
PreparedStatement |
prepareStatement(String sql)
|
PreparedStatement |
prepareStatement(String sql,
int autoGeneratedKeys)
|
PreparedStatement |
prepareStatement(String sql,
int[] columnIndexes)
|
PreparedStatement |
prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency)
|
PreparedStatement |
prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
PreparedStatement |
prepareStatement(String sql,
String[] columnNames)
|
void |
releaseSavepoint(Savepoint savepoint)
|
protected void |
reportAllReturns(String methodCall,
String returnValue)
|
protected void |
reportException(String methodCall,
SQLException exception)
|
protected void |
reportException(String methodCall,
SQLException exception,
String sql)
|
void |
rollback()
|
void |
rollback(Savepoint savepoint)
|
void |
setAutoCommit(boolean autoCommit)
|
void |
setCatalog(String catalog)
|
void |
setClientInfo(Properties properties)
|
void |
setClientInfo(String name,
String value)
|
void |
setHoldability(int holdability)
|
void |
setReadOnly(boolean readOnly)
|
Savepoint |
setSavepoint()
|
Savepoint |
setSavepoint(String name)
|
void |
setTransactionIsolation(int level)
|
void |
setTypeMap(Map<String,Class<?>> map)
|
|
unwrap(Class<T> iface)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConnectionSpy
public ConnectionSpy(Connection realConnection)
- Create a new ConnectionSpy that wraps a given Connection.
- Parameters:
realConnection
- "real" Connection that this ConnectionSpy wraps.
ConnectionSpy
public ConnectionSpy(Connection realConnection,
net.sf.log4jdbc.RdbmsSpecifics rdbmsSpecifics)
- Create a new ConnectionSpy that wraps a given Connection.
- Parameters:
realConnection
- "real" Connection that this ConnectionSpy wraps.rdbmsSpecifics
- the RdbmsSpecifics object for formatting logging appropriate for the Rdbms used.
getConnectionNumber
public int getConnectionNumber()
- Description copied from interface:
Spy
- Get the connection number. In general, this is used to track which underlying connection is being
used from the database. The number will be incremented each time a new Connection is retrieved from the
real underlying jdbc driver. This is useful for debugging and tracking down problems with connection pooling.
- Specified by:
getConnectionNumber
in interface Spy
- Returns:
- the connection instance number.
getClassType
public String getClassType()
- Description copied from interface:
Spy
- Get the type of class being spied upon. For example, "Statement", "ResultSet", etc.
- Specified by:
getClassType
in interface Spy
- Returns:
- a description of the type of class being spied upon.
reportException
protected void reportException(String methodCall,
SQLException exception,
String sql)
reportException
protected void reportException(String methodCall,
SQLException exception)
reportAllReturns
protected void reportAllReturns(String methodCall,
String returnValue)
isClosed
public boolean isClosed()
throws SQLException
- Specified by:
isClosed
in interface Connection
- Throws:
SQLException
getWarnings
public SQLWarning getWarnings()
throws SQLException
- Specified by:
getWarnings
in interface Connection
- Throws:
SQLException
setSavepoint
public Savepoint setSavepoint()
throws SQLException
- Specified by:
setSavepoint
in interface Connection
- Throws:
SQLException
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint)
throws SQLException
- Specified by:
releaseSavepoint
in interface Connection
- Throws:
SQLException
rollback
public void rollback(Savepoint savepoint)
throws SQLException
- Specified by:
rollback
in interface Connection
- Throws:
SQLException
getMetaData
public DatabaseMetaData getMetaData()
throws SQLException
- Specified by:
getMetaData
in interface Connection
- Throws:
SQLException
clearWarnings
public void clearWarnings()
throws SQLException
- Specified by:
clearWarnings
in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement()
throws SQLException
- Specified by:
createStatement
in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement(int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
createStatement
in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
createStatement
in interface Connection
- Throws:
SQLException
setReadOnly
public void setReadOnly(boolean readOnly)
throws SQLException
- Specified by:
setReadOnly
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int autoGeneratedKeys)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int[] columnIndexes)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
setSavepoint
public Savepoint setSavepoint(String name)
throws SQLException
- Specified by:
setSavepoint
in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
String[] columnNames)
throws SQLException
- Specified by:
prepareStatement
in interface Connection
- Throws:
SQLException
createClob
public Clob createClob()
throws SQLException
- Specified by:
createClob
in interface Connection
- Throws:
SQLException
createBlob
public Blob createBlob()
throws SQLException
- Specified by:
createBlob
in interface Connection
- Throws:
SQLException
createNClob
public NClob createNClob()
throws SQLException
- Specified by:
createNClob
in interface Connection
- Throws:
SQLException
createSQLXML
public SQLXML createSQLXML()
throws SQLException
- Specified by:
createSQLXML
in interface Connection
- Throws:
SQLException
isValid
public boolean isValid(int timeout)
throws SQLException
- Specified by:
isValid
in interface Connection
- Throws:
SQLException
setClientInfo
public void setClientInfo(String name,
String value)
throws SQLClientInfoException
- Specified by:
setClientInfo
in interface Connection
- Throws:
SQLClientInfoException
setClientInfo
public void setClientInfo(Properties properties)
throws SQLClientInfoException
- Specified by:
setClientInfo
in interface Connection
- Throws:
SQLClientInfoException
getClientInfo
public String getClientInfo(String name)
throws SQLException
- Specified by:
getClientInfo
in interface Connection
- Throws:
SQLException
getClientInfo
public Properties getClientInfo()
throws SQLException
- Specified by:
getClientInfo
in interface Connection
- Throws:
SQLException
createArrayOf
public Array createArrayOf(String typeName,
Object[] elements)
throws SQLException
- Specified by:
createArrayOf
in interface Connection
- Throws:
SQLException
createStruct
public Struct createStruct(String typeName,
Object[] attributes)
throws SQLException
- Specified by:
createStruct
in interface Connection
- Throws:
SQLException
isReadOnly
public boolean isReadOnly()
throws SQLException
- Specified by:
isReadOnly
in interface Connection
- Throws:
SQLException
setHoldability
public void setHoldability(int holdability)
throws SQLException
- Specified by:
setHoldability
in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql)
throws SQLException
- Specified by:
prepareCall
in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql,
int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
prepareCall
in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
prepareCall
in interface Connection
- Throws:
SQLException
setCatalog
public void setCatalog(String catalog)
throws SQLException
- Specified by:
setCatalog
in interface Connection
- Throws:
SQLException
nativeSQL
public String nativeSQL(String sql)
throws SQLException
- Specified by:
nativeSQL
in interface Connection
- Throws:
SQLException
getTypeMap
public Map<String,Class<?>> getTypeMap()
throws SQLException
- Specified by:
getTypeMap
in interface Connection
- Throws:
SQLException
setAutoCommit
public void setAutoCommit(boolean autoCommit)
throws SQLException
- Specified by:
setAutoCommit
in interface Connection
- Throws:
SQLException
getCatalog
public String getCatalog()
throws SQLException
- Specified by:
getCatalog
in interface Connection
- Throws:
SQLException
setTypeMap
public void setTypeMap(Map<String,Class<?>> map)
throws SQLException
- Specified by:
setTypeMap
in interface Connection
- Throws:
SQLException
setTransactionIsolation
public void setTransactionIsolation(int level)
throws SQLException
- Specified by:
setTransactionIsolation
in interface Connection
- Throws:
SQLException
getAutoCommit
public boolean getAutoCommit()
throws SQLException
- Specified by:
getAutoCommit
in interface Connection
- Throws:
SQLException
getHoldability
public int getHoldability()
throws SQLException
- Specified by:
getHoldability
in interface Connection
- Throws:
SQLException
getTransactionIsolation
public int getTransactionIsolation()
throws SQLException
- Specified by:
getTransactionIsolation
in interface Connection
- Throws:
SQLException
commit
public void commit()
throws SQLException
- Specified by:
commit
in interface Connection
- Throws:
SQLException
rollback
public void rollback()
throws SQLException
- Specified by:
rollback
in interface Connection
- Throws:
SQLException
close
public void close()
throws SQLException
- Specified by:
close
in interface Connection
- Throws:
SQLException
unwrap
public <T> T unwrap(Class<T> iface)
throws SQLException
- Specified by:
unwrap
in interface Wrapper
- Throws:
SQLException
isWrapperFor
public boolean isWrapperFor(Class<?> iface)
throws SQLException
- Specified by:
isWrapperFor
in interface Wrapper
- Throws:
SQLException