org.jboss.jca.adapters.jdbc
Class WrappedConnection

java.lang.Object
  extended by org.jboss.jca.adapters.jdbc.JBossWrapper
      extended by org.jboss.jca.adapters.jdbc.WrappedConnection
All Implemented Interfaces:
Serializable, Connection, Wrapper
Direct Known Subclasses:
WrappedConnectionJDK6, WrappedConnectionJDK7

public abstract class WrappedConnection
extends JBossWrapper
implements Connection

A wrapper for a connection.

Version:
$Revision: 96595 $
Author:
David Jencks, Adrian Brock, Jesper Pedersen
See Also:
Serialized Form

Field Summary
protected  String jndiName
          The jndi name
protected  boolean spy
          Spy functionality
protected static org.jboss.logging.Logger spyLogger
          The spy logger
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
WrappedConnection(BaseWrapperManagedConnection mc, boolean spy, String jndiName)
          Constructor
 
Method Summary
protected  SQLException checkException(Throwable t)
          The base checkException method rethrows the supplied exception, informing the ManagedConnection of the error.
protected  void checkStatus()
          The checkStatus method checks that the handle has not been closed and that it is associated with a managed connection.
protected  void checkTransaction()
          
 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()
          
 Properties getClientInfo()
          
 String getClientInfo(String name)
          
 WrapperDataSource getDataSource()
          Get the datasource
 int getHoldability()
          
 DatabaseMetaData getMetaData()
          
 int getTransactionIsolation()
          
 Map<String,Class<?>> getTypeMap()
          
 Connection getUnderlyingConnection()
          
 SQLWarning getWarnings()
          
protected  Connection getWrappedObject()
          Get the wrapped object - override in sub-classes
 XAResource getXAResource()
          Returns the XAResource if the connection is an XA based one
 boolean isClosed()
          
 boolean isReadOnly()
          
 boolean isValid(int timeout)
          
 boolean isXA()
          Returns true if the underlying connection is handled by an XA resource manager
protected  void lock()
          Lock connection
 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)
          
 void rollback()
          
 void rollback(Savepoint savepoint)
          
 void setAutoCommit(boolean autocommit)
          
 void setCatalog(String catalog)
          
 void setClientInfo(Properties properties)
          
 void setClientInfo(String name, String value)
          
protected  void setDataSource(WrapperDataSource dataSource)
          Set the datasource
 void setHoldability(int holdability)
          
 void setReadOnly(boolean readOnly)
          
 Savepoint setSavepoint()
          
 Savepoint setSavepoint(String name)
          
 void setTransactionIsolation(int isolationLevel)
          
 void setTypeMap(Map<String,Class<?>> typeMap)
          
protected  void unlock()
          Unlock connection
protected abstract  WrappedCallableStatement wrapCallableStatement(CallableStatement statement, boolean spy, String jndiName)
          Wrap a callable statement
protected abstract  WrappedPreparedStatement wrapPreparedStatement(PreparedStatement statement, boolean spy, String jndiName)
          Wrap a prepared statement
protected abstract  WrappedStatement wrapStatement(Statement statement, boolean spy, String jndiName)
          Wrap statement
 
Methods inherited from class org.jboss.jca.adapters.jdbc.JBossWrapper
isWrapperFor, unwrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
 

Field Detail

spyLogger

protected static org.jboss.logging.Logger spyLogger
The spy logger


spy

protected boolean spy
Spy functionality


jndiName

protected String jndiName
The jndi name

Constructor Detail

WrappedConnection

public WrappedConnection(BaseWrapperManagedConnection mc,
                         boolean spy,
                         String jndiName)
Constructor

Parameters:
mc - The managed connection
spy - The spy value
jndiName - The jndi name
Method Detail

lock

protected void lock()
             throws SQLException
Lock connection

Throws:
SQLException - Thrown if an error occurs

unlock

protected void unlock()
Unlock connection


getDataSource

public WrapperDataSource getDataSource()
Get the datasource

Returns:
The value

setDataSource

protected void setDataSource(WrapperDataSource dataSource)
Set the datasource

Parameters:
dataSource - The value

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws SQLException

Specified by:
setReadOnly in interface Connection
Throws:
SQLException

isReadOnly

public boolean isReadOnly()
                   throws SQLException

Specified by:
isReadOnly in interface Connection
Throws:
SQLException

close

public void close()
           throws SQLException

Specified by:
close in interface Connection
Throws:
SQLException

isClosed

public boolean isClosed()
                 throws SQLException

Specified by:
isClosed in interface Connection
Throws:
SQLException

wrapStatement

protected abstract WrappedStatement wrapStatement(Statement statement,
                                                  boolean spy,
                                                  String jndiName)
Wrap statement

Parameters:
statement - The statement
spy - The spy value
jndiName - The jndi name
Returns:
The wrapped statement

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

wrapPreparedStatement

protected abstract WrappedPreparedStatement wrapPreparedStatement(PreparedStatement statement,
                                                                  boolean spy,
                                                                  String jndiName)
Wrap a prepared statement

Parameters:
statement - The statement
spy - The spy value
jndiName - The jndi name
Returns:
The wrapped prepared statement

prepareStatement

public PreparedStatement prepareStatement(String sql)
                                   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 autoGeneratedKeys)
                                   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

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          String[] columnNames)
                                   throws SQLException

Specified by:
prepareStatement in interface Connection
Throws:
SQLException

wrapCallableStatement

protected abstract WrappedCallableStatement wrapCallableStatement(CallableStatement statement,
                                                                  boolean spy,
                                                                  String jndiName)
Wrap a callable statement

Parameters:
statement - The statement
spy - The spy value
jndiName - The jndi name
Returns:
The wrapped callable statement

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

nativeSQL

public String nativeSQL(String sql)
                 throws SQLException

Specified by:
nativeSQL in interface Connection
Throws:
SQLException

setAutoCommit

public void setAutoCommit(boolean autocommit)
                   throws SQLException

Specified by:
setAutoCommit in interface Connection
Throws:
SQLException

getAutoCommit

public boolean getAutoCommit()
                      throws SQLException

Specified by:
getAutoCommit 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

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

setCatalog

public void setCatalog(String catalog)
                throws SQLException

Specified by:
setCatalog in interface Connection
Throws:
SQLException

getCatalog

public String getCatalog()
                  throws SQLException

Specified by:
getCatalog in interface Connection
Throws:
SQLException

setTransactionIsolation

public void setTransactionIsolation(int isolationLevel)
                             throws SQLException

Specified by:
setTransactionIsolation in interface Connection
Throws:
SQLException

getTransactionIsolation

public int getTransactionIsolation()
                            throws SQLException

Specified by:
getTransactionIsolation in interface Connection
Throws:
SQLException

getWarnings

public SQLWarning getWarnings()
                       throws SQLException

Specified by:
getWarnings in interface Connection
Throws:
SQLException

clearWarnings

public void clearWarnings()
                   throws SQLException

Specified by:
clearWarnings in interface Connection
Throws:
SQLException

getTypeMap

public Map<String,Class<?>> getTypeMap()
                                throws SQLException

Specified by:
getTypeMap in interface Connection
Throws:
SQLException

setTypeMap

public void setTypeMap(Map<String,Class<?>> typeMap)
                throws SQLException

Specified by:
setTypeMap in interface Connection
Throws:
SQLException

setHoldability

public void setHoldability(int holdability)
                    throws SQLException

Specified by:
setHoldability in interface Connection
Throws:
SQLException

getHoldability

public int getHoldability()
                   throws SQLException

Specified by:
getHoldability in interface Connection
Throws:
SQLException

setSavepoint

public Savepoint setSavepoint()
                       throws SQLException

Specified by:
setSavepoint in interface Connection
Throws:
SQLException

setSavepoint

public Savepoint setSavepoint(String name)
                       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

createArrayOf

public Array createArrayOf(String typeName,
                           Object[] elements)
                    throws SQLException

Specified by:
createArrayOf in interface Connection
Throws:
SQLException

createBlob

public Blob createBlob()
                throws SQLException

Specified by:
createBlob in interface Connection
Throws:
SQLException

createClob

public Clob createClob()
                throws SQLException

Specified by:
createClob 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

createStruct

public Struct createStruct(String typeName,
                           Object[] attributes)
                    throws SQLException

Specified by:
createStruct in interface Connection
Throws:
SQLException

getClientInfo

public Properties getClientInfo()
                         throws SQLException

Specified by:
getClientInfo in interface Connection
Throws:
SQLException

getClientInfo

public String getClientInfo(String name)
                     throws SQLException

Specified by:
getClientInfo 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(Properties properties)
                   throws SQLClientInfoException

Specified by:
setClientInfo in interface Connection
Throws:
SQLClientInfoException

setClientInfo

public void setClientInfo(String name,
                          String value)
                   throws SQLClientInfoException

Specified by:
setClientInfo in interface Connection
Throws:
SQLClientInfoException

getUnderlyingConnection

public Connection getUnderlyingConnection()
                                   throws SQLException

Throws:
SQLException

isXA

public boolean isXA()
Returns true if the underlying connection is handled by an XA resource manager

Returns:
The value

getXAResource

public XAResource getXAResource()
                         throws javax.resource.ResourceException
Returns the XAResource if the connection is an XA based one

Returns:
The value
Throws:
javax.resource.ResourceException - Thrown if it isn't an XA based connection

getWrappedObject

protected Connection getWrappedObject()
                               throws SQLException
Get the wrapped object - override in sub-classes

Overrides:
getWrappedObject in class JBossWrapper
Returns:
The object
Throws:
SQLException - Thrown if an error occurs

checkTransaction

protected void checkTransaction()
                         throws SQLException

Throws:
SQLException

checkStatus

protected void checkStatus()
                    throws SQLException
The checkStatus method checks that the handle has not been closed and that it is associated with a managed connection.

Throws:
SQLException - if an error occurs

checkException

protected SQLException checkException(Throwable t)
                               throws SQLException
The base checkException method rethrows the supplied exception, informing the ManagedConnection of the error. Subclasses may override this to filter exceptions based on their severity.

Parameters:
t - a throwable
Returns:
the sql exception
Throws:
SQLException - if an error occurs


Copyright © 2008 Red Hat Middleware LLC (http://www.jboss.com/)