net.sf.farrago.jdbc.engine
Class FarragoJdbcEngineConnection

java.lang.Object
  extended by org.eigenbase.jdbc4.Unwrappable
      extended by net.sf.farrago.jdbc.engine.FarragoJdbcEngineConnection
All Implemented Interfaces:
Connection, FarragoConnection, FarragoSessionConnectionSource

public class FarragoJdbcEngineConnection
extends Unwrappable
implements FarragoConnection, FarragoSessionConnectionSource

FarragoJdbcEngineConnection implements the Connection interface for the Farrago JDBC engine driver.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/jdbc/engine/FarragoJdbcEngineConnection.java#34 $
Author:
John V. Sichi

Nested Class Summary
private  class FarragoJdbcEngineConnection.FleetingMedDataWrapperInfo
          Implementation of FarragoMedDataWrapperInfo which fleetingly grabs a FarragoMedDataWrapper at the start of a call and unpins it before the end of the call.
 
Field Summary
private  FarragoSession session
           
private  FarragoSessionFactory sessionFactory
           
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
private FarragoJdbcEngineConnection(FarragoSession session)
           
  FarragoJdbcEngineConnection(String url, Properties info, FarragoSessionFactory sessionFactory)
          Creates a new FarragoJdbcEngineConnection object.
 
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)
           
 String findMofId(String wrapperName)
           
 boolean getAutoCommit()
           
 String getCatalog()
           
 Properties getClientInfo()
           
 String getClientInfo(String name)
           
 long getFarragoSessionId()
           
 int getHoldability()
           
 DatabaseMetaData getMetaData()
           
 FarragoSession getSession()
           
 int getTransactionIsolation()
           
 Map getTypeMap()
           
 SQLWarning getWarnings()
           
 FarragoMedDataWrapperInfo getWrapper(String mofId, String libraryName, Properties options)
           
protected  void initConnection(Properties info)
          Performs additional setup based on connection property settings.
 boolean isClosed()
           
 boolean isReadOnly()
           
 boolean isValid(int timeout)
           
 String nativeSQL(String sql)
           
 Connection newConnection()
          Creates a new connection.
 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 props)
           
 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 map)
           
private  FarragoSessionSavepoint validateSavepoint(Savepoint savepoint)
           
protected  void validateSession()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sessionFactory

private FarragoSessionFactory sessionFactory

session

private FarragoSession session
Constructor Detail

FarragoJdbcEngineConnection

public FarragoJdbcEngineConnection(String url,
                                   Properties info,
                                   FarragoSessionFactory sessionFactory)
                            throws SQLException
Creates a new FarragoJdbcEngineConnection object.

Parameters:
url - URL used to connect
info - properties for this connection
sessionFactory - FarragoSessionFactory governing this connection's behavior
Throws:
SQLException

FarragoJdbcEngineConnection

private FarragoJdbcEngineConnection(FarragoSession session)
Method Detail

getSession

public FarragoSession getSession()

getFarragoSessionId

public long getFarragoSessionId()
Specified by:
getFarragoSessionId in interface FarragoConnection

isClosed

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

newConnection

public Connection newConnection()
Description copied from interface: FarragoSessionConnectionSource
Creates a new connection.

Specified by:
newConnection in interface FarragoSessionConnectionSource
Returns:
new connection

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

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

close

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

commit

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

createStatement

public Statement createStatement()
                          throws SQLException
Specified by:
createStatement 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

setTransactionIsolation

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

getTransactionIsolation

public int getTransactionIsolation()
                            throws SQLException
Specified by:
getTransactionIsolation 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

validateSavepoint

private FarragoSessionSavepoint validateSavepoint(Savepoint savepoint)
                                           throws SQLException
Throws:
SQLException

releaseSavepoint

public void releaseSavepoint(Savepoint savepoint)
                      throws SQLException
Specified by:
releaseSavepoint in interface Connection
Throws:
SQLException

getMetaData

public DatabaseMetaData getMetaData()
                             throws SQLException
Specified by:
getMetaData 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 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

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

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

setTypeMap

public void setTypeMap(Map map)
                throws SQLException
Specified by:
setTypeMap in interface Connection
Throws:
SQLException

getTypeMap

public Map getTypeMap()
               throws SQLException
Specified by:
getTypeMap 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

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

nativeSQL

public String nativeSQL(String sql)
                 throws SQLException
Specified by:
nativeSQL 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

initConnection

protected void initConnection(Properties info)
                       throws SQLException
Performs additional setup based on connection property settings.

Parameters:
info - connection properties
Throws:
SQLException

validateSession

protected void validateSession()
                        throws SQLException
Throws:
SQLException

findMofId

public String findMofId(String wrapperName)
                 throws SQLException
Specified by:
findMofId in interface FarragoConnection
Throws:
SQLException

getWrapper

public FarragoMedDataWrapperInfo getWrapper(String mofId,
                                            String libraryName,
                                            Properties options)
                                     throws SQLException
Specified by:
getWrapper in interface FarragoConnection
Throws:
SQLException

createStruct

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

createArrayOf

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

getClientInfo

public Properties getClientInfo()
                         throws SQLException
Throws:
SQLException

getClientInfo

public String getClientInfo(String name)
                     throws SQLException
Throws:
SQLException

setClientInfo

public void setClientInfo(String name,
                          String value)

setClientInfo

public void setClientInfo(Properties props)

isValid

public boolean isValid(int timeout)

createSQLXML

public SQLXML createSQLXML()
                    throws SQLException
Throws:
SQLException

createNClob

public NClob createNClob()
                  throws SQLException
Throws:
SQLException

createClob

public Clob createClob()
                throws SQLException
Throws:
SQLException

createBlob

public Blob createBlob()
                throws SQLException
Throws:
SQLException