org.opensubsystems.core.persist.db.transaction
Class TransactionalConnection

java.lang.Object
  extended by org.opensubsystems.core.persist.db.transaction.TransactionalConnection
All Implemented Interfaces:
java.sql.Connection

public class TransactionalConnection
extends java.lang.Object
implements java.sql.Connection

Transactional connection is wrapper around real database connection to ensure that the connection can be made part of global transaction spanning several code components which do not know about each other.

Version:
$Id: TransactionalConnection.java,v 1.4 2007/01/23 06:00:01 bastafidli Exp $
Author:
Miro Halas
Code reviewer:
Miro Halas
Code reviewed:
1.1 2005/08/20 21:17:01 bastafidli

Field Summary
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
protected TransactionalConnection(java.sql.Connection privateConnection, java.lang.String strDataSourceName, java.lang.String strUser, java.lang.String strPassword, boolean inTransaction, DatabaseConnectionFactoryImpl connectionFactory)
          Protected constructor so that only classes from this package can create it.
 
Method Summary
 void clearWarnings()
          
 void close()
          
 void commit()
          
 java.sql.Statement createStatement()
          
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency)
          
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 boolean equals(java.lang.Object obj)
          
 boolean getAutoCommit()
          
 java.lang.String getCatalog()
          
 DatabaseConnectionFactoryImpl getConnectionFactory()
           
 java.lang.String getDataSourceName()
           
 int getHoldability()
          
 java.sql.DatabaseMetaData getMetaData()
          
 java.lang.String getPassword()
           
 int getTransactionIsolation()
          
 java.util.Map getTypeMap()
          
 java.lang.String getUser()
           
 java.sql.SQLWarning getWarnings()
          
 int hashCode()
          
 boolean isClosed()
          
 boolean isReadOnly()
          
 boolean isUsed()
          This method is not public so that it can be used only in this package.
 java.lang.String nativeSQL(java.lang.String sql)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
          
 void releaseSavepoint(java.sql.Savepoint savepoint)
          
 void rollback()
          
 void rollback(java.sql.Savepoint savepoint)
          
 void setAutoCommit(boolean autoCommit)
          
 void setCatalog(java.lang.String catalog)
          
 void setHoldability(int holdability)
          
 void setReadOnly(boolean readOnly)
          
 java.sql.Savepoint setSavepoint()
          
 java.sql.Savepoint setSavepoint(java.lang.String name)
          
 void setTransactionIsolation(int level)
          
 void setTypeMap(java.util.Map map)
          
 java.lang.String toString()
          
 boolean verifyConnection(java.sql.Connection verifiableConnection)
          Verify if the specified connection is the one which is used by this wrapper.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TransactionalConnection

protected TransactionalConnection(java.sql.Connection privateConnection,
                                  java.lang.String strDataSourceName,
                                  java.lang.String strUser,
                                  java.lang.String strPassword,
                                  boolean inTransaction,
                                  DatabaseConnectionFactoryImpl connectionFactory)
Protected constructor so that only classes from this package can create it.

Parameters:
privateConnection - - real connection to the database
strDataSourceName - - name of the data source this connection belongs to
strUser - - user name under which this connection was created
strPassword - - password under which this connection was created
inTransaction - - is the connection already in the transaction
connectionFactory - - connection factory from which the private connection was acquired
Method Detail

isUsed

public boolean isUsed()
This method is not public so that it can be used only in this package.

Returns:
boolean - if true then some method was called on connection since the last time this flag was reset

getDataSourceName

public java.lang.String getDataSourceName()
Returns:
String

getPassword

public java.lang.String getPassword()
Returns:
String

getUser

public java.lang.String getUser()
Returns:
String

verifyConnection

public boolean verifyConnection(java.sql.Connection verifiableConnection)
Verify if the specified connection is the one which is used by this wrapper.

Parameters:
verifiableConnection - - connection to verify
Returns:
boolean - true if the connections are the same

getConnectionFactory

public DatabaseConnectionFactoryImpl getConnectionFactory()
Returns:
DatabaseConnectionFactoryImpl

clearWarnings

public void clearWarnings()
                   throws java.sql.SQLException

Specified by:
clearWarnings 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
Throws:
java.sql.SQLException

commit

public void commit()
            throws java.sql.SQLException

Specified by:
commit in interface java.sql.Connection
Throws:
java.sql.SQLException

createStatement

public java.sql.Statement createStatement()
                                   throws java.sql.SQLException

Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException

createStatement

public java.sql.Statement createStatement(int resultSetType,
                                          int resultSetConcurrency)
                                   throws java.sql.SQLException

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

equals

public boolean equals(java.lang.Object obj)

Overrides:
equals in class java.lang.Object

getAutoCommit

public boolean getAutoCommit()
                      throws java.sql.SQLException

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

getHoldability

public int getHoldability()
                   throws java.sql.SQLException

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

getTransactionIsolation

public int getTransactionIsolation()
                            throws java.sql.SQLException

Specified by:
getTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException

getTypeMap

public java.util.Map getTypeMap()
                         throws java.sql.SQLException

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

hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

isClosed

public boolean isClosed()
                 throws java.sql.SQLException

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

nativeSQL

public java.lang.String nativeSQL(java.lang.String sql)
                           throws java.sql.SQLException

Specified by:
nativeSQL in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                       throws java.sql.SQLException

Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                              int resultSetType,
                                              int resultSetConcurrency)
                                       throws java.sql.SQLException

Specified by:
prepareCall in interface java.sql.Connection
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

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
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

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int resultSetType,
                                                   int resultSetConcurrency)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
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

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

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

releaseSavepoint

public void releaseSavepoint(java.sql.Savepoint savepoint)
                      throws java.sql.SQLException

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

rollback

public void rollback(java.sql.Savepoint savepoint)
              throws java.sql.SQLException

Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws java.sql.SQLException

Specified by:
setAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException

setCatalog

public void setCatalog(java.lang.String catalog)
                throws java.sql.SQLException

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

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws java.sql.SQLException

Specified by:
setReadOnly 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 name)
                                throws java.sql.SQLException

Specified by:
setSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws java.sql.SQLException

Specified by:
setTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException

setTypeMap

public void setTypeMap(java.util.Map map)
                throws java.sql.SQLException

Specified by:
setTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object


Copyright © 2003 - 2006 OpenSubsystems s.r.o.