org.nanocontainer.persistence.jdbc
Class AbstractConnection

java.lang.Object
  extended by org.nanocontainer.persistence.jdbc.AbstractConnection
All Implemented Interfaces:
Connection
Direct Known Subclasses:
FailoverDataSourceConnection

public abstract class AbstractConnection
extends Object
implements Connection

Base classe for Connection components. It delegates all calls to the connection obtained by getDelegatedConnection method. Error handling is also there.

Version:
$Id: AbstractConnection.java 2653 2005-10-16 12:50:07Z juze $
Author:
Juze Peleteiro

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 AbstractConnection()
           
protected AbstractConnection(ExceptionHandler jdbcExceptionHandler)
           
 
Method Summary
 void clearWarnings()
           
 void close()
           
 void commit()
           
 Statement createStatement()
           
 Statement createStatement(int resultSetType, int resultSetConcurrency)
           
 Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 boolean getAutoCommit()
           
 String getCatalog()
           
protected abstract  Connection getDelegatedConnection()
           
 int getHoldability()
           
 DatabaseMetaData getMetaData()
           
 int getTransactionIsolation()
           
 Map getTypeMap()
           
 SQLWarning getWarnings()
           
protected  SQLException handleException(Exception cause)
          Invalidates the connection calling invalidateDelegatedConnection() and convert the cause using a ExceptionHandler.
protected abstract  void invalidateDelegatedConnection()
           
 boolean isClosed()
           
 boolean isReadOnly()
           
 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 setHoldability(int holdability)
           
 void setReadOnly(boolean readOnly)
           
 Savepoint setSavepoint()
           
 Savepoint setSavepoint(String name)
           
 void setTransactionIsolation(int level)
           
 void setTypeMap(Map map)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractConnection

protected AbstractConnection(ExceptionHandler jdbcExceptionHandler)

AbstractConnection

protected AbstractConnection()
Method Detail

getDelegatedConnection

protected abstract Connection getDelegatedConnection()
                                              throws SQLException
Throws:
SQLException

invalidateDelegatedConnection

protected abstract void invalidateDelegatedConnection()

handleException

protected SQLException handleException(Exception cause)
                                throws RuntimeException
Invalidates the connection calling invalidateDelegatedConnection() and convert the cause using a ExceptionHandler. if it's available otherwise just return the cause back.

Throws:
RuntimeException

createStatement

public Statement createStatement()
                          throws SQLException
Specified by:
createStatement in interface Connection
Throws:
SQLException
See Also:
Connection.createStatement()

prepareStatement

public PreparedStatement prepareStatement(String sql)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String)

prepareCall

public CallableStatement prepareCall(String sql)
                              throws SQLException
Specified by:
prepareCall in interface Connection
Throws:
SQLException
See Also:
Connection.prepareCall(java.lang.String)

nativeSQL

public String nativeSQL(String sql)
                 throws SQLException
Specified by:
nativeSQL in interface Connection
Throws:
SQLException
See Also:
Connection.nativeSQL(java.lang.String)

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws SQLException
Specified by:
setAutoCommit in interface Connection
Throws:
SQLException
See Also:
Connection.setAutoCommit(boolean)

getAutoCommit

public boolean getAutoCommit()
                      throws SQLException
Specified by:
getAutoCommit in interface Connection
Throws:
SQLException
See Also:
Connection.getAutoCommit()

commit

public void commit()
            throws SQLException
Specified by:
commit in interface Connection
Throws:
SQLException
See Also:
Connection.commit()

rollback

public void rollback()
              throws SQLException
Specified by:
rollback in interface Connection
Throws:
SQLException
See Also:
Connection.rollback()

close

public void close()
           throws SQLException
Specified by:
close in interface Connection
Throws:
SQLException
See Also:
Connection.close()

isClosed

public boolean isClosed()
                 throws SQLException
Specified by:
isClosed in interface Connection
Throws:
SQLException
See Also:
Connection.isClosed()

getMetaData

public DatabaseMetaData getMetaData()
                             throws SQLException
Specified by:
getMetaData in interface Connection
Throws:
SQLException
See Also:
Connection.getMetaData()

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws SQLException
Specified by:
setReadOnly in interface Connection
Throws:
SQLException
See Also:
Connection.setReadOnly(boolean)

isReadOnly

public boolean isReadOnly()
                   throws SQLException
Specified by:
isReadOnly in interface Connection
Throws:
SQLException
See Also:
Connection.isReadOnly()

setCatalog

public void setCatalog(String catalog)
                throws SQLException
Specified by:
setCatalog in interface Connection
Throws:
SQLException
See Also:
Connection.setCatalog(java.lang.String)

getCatalog

public String getCatalog()
                  throws SQLException
Specified by:
getCatalog in interface Connection
Throws:
SQLException
See Also:
Connection.getCatalog()

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws SQLException
Specified by:
setTransactionIsolation in interface Connection
Throws:
SQLException
See Also:
Connection.setTransactionIsolation(int)

getTransactionIsolation

public int getTransactionIsolation()
                            throws SQLException
Specified by:
getTransactionIsolation in interface Connection
Throws:
SQLException
See Also:
Connection.getTransactionIsolation()

getWarnings

public SQLWarning getWarnings()
                       throws SQLException
Specified by:
getWarnings in interface Connection
Throws:
SQLException
See Also:
Connection.getWarnings()

clearWarnings

public void clearWarnings()
                   throws SQLException
Specified by:
clearWarnings in interface Connection
Throws:
SQLException
See Also:
Connection.clearWarnings()

createStatement

public Statement createStatement(int resultSetType,
                                 int resultSetConcurrency)
                          throws SQLException
Specified by:
createStatement in interface Connection
Throws:
SQLException
See Also:
Connection.createStatement(int, int)

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          int resultSetType,
                                          int resultSetConcurrency)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String, int, int)

prepareCall

public CallableStatement prepareCall(String sql,
                                     int resultSetType,
                                     int resultSetConcurrency)
                              throws SQLException
Specified by:
prepareCall in interface Connection
Throws:
SQLException
See Also:
Connection.prepareCall(java.lang.String, int, int)

getTypeMap

public Map getTypeMap()
               throws SQLException
Specified by:
getTypeMap in interface Connection
Throws:
SQLException
See Also:
Connection.getTypeMap()

setTypeMap

public void setTypeMap(Map map)
                throws SQLException
Specified by:
setTypeMap in interface Connection
Throws:
SQLException
See Also:
Connection.setTypeMap(java.util.Map)

setHoldability

public void setHoldability(int holdability)
                    throws SQLException
Specified by:
setHoldability in interface Connection
Throws:
SQLException
See Also:
Connection.setHoldability(int)

getHoldability

public int getHoldability()
                   throws SQLException
Specified by:
getHoldability in interface Connection
Throws:
SQLException
See Also:
Connection.getHoldability()

setSavepoint

public Savepoint setSavepoint()
                       throws SQLException
Specified by:
setSavepoint in interface Connection
Throws:
SQLException
See Also:
Connection.setSavepoint()

setSavepoint

public Savepoint setSavepoint(String name)
                       throws SQLException
Specified by:
setSavepoint in interface Connection
Throws:
SQLException
See Also:
Connection.setSavepoint(java.lang.String)

rollback

public void rollback(Savepoint savepoint)
              throws SQLException
Specified by:
rollback in interface Connection
Throws:
SQLException
See Also:
Connection.rollback(java.sql.Savepoint)

releaseSavepoint

public void releaseSavepoint(Savepoint savepoint)
                      throws SQLException
Specified by:
releaseSavepoint in interface Connection
Throws:
SQLException
See Also:
Connection.releaseSavepoint(java.sql.Savepoint)

createStatement

public Statement createStatement(int resultSetType,
                                 int resultSetConcurrency,
                                 int resultSetHoldability)
                          throws SQLException
Specified by:
createStatement in interface Connection
Throws:
SQLException
See Also:
Connection.createStatement(int, int, int)

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          int resultSetType,
                                          int resultSetConcurrency,
                                          int resultSetHoldability)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String, int, int, int)

prepareCall

public CallableStatement prepareCall(String sql,
                                     int resultSetType,
                                     int resultSetConcurrency,
                                     int resultSetHoldability)
                              throws SQLException
Specified by:
prepareCall in interface Connection
Throws:
SQLException
See Also:
Connection.prepareCall(java.lang.String, int, int, int)

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          int autoGeneratedKeys)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String, int)

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          int[] columnIndexes)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String, int[])

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          String[] columnNames)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException
See Also:
Connection.prepareStatement(java.lang.String, java.lang.String[])


Copyright 2003-2003-2006 Codehaus. All Rights Reserved.