com.pivotal.gemfirexd.internal.client.am

## Interface ClientJDBCObjectFactory

All Known Implementing Classes:
  ClientJDBCObjectFactoryImpl40

    public interface ClientJDBCObjectFactory

The methods of this interface are used to return JDBC interface implementations to the user depending on the JDBC version supported by the jdk

### Method Summary

Methods
`ResultSet` `getSingleHopResultSet(NetResultSet nrs0, PreparedStatement[] psarray, NetConnection.DSConnectionInfo dsConnInfo)`
`LogicalConnection` `newCachingLogicalConnection(Connection physicalConnection, ClientPooledConnection pooledConnection, JDBCStatementCache stmtCache)` Returns an instance of a `CachingLogicalConnection`, which provides caching of prepared statements.
`CallableStatement` `newCallableStatement(Agent agent, Connection connection, String sql, int type, int concurrency, int holdability, ClientPooledConnection cpc)` Returns an instance of com.pivotal.gemfirexd.internal.client.am.CallableStatement.
`ClientPooledConnection` `newClientPooledConnection(ClientBaseDataSource ds, LogWriter logWriter, String user, String password)` This method is used to return an instance of ClientPooledConnection (or ClientPooledConnection40) class which implements javax.sql.PooledConnection
`ClientPooledConnection` `newClientPooledConnection(ClientBaseDataSource ds, LogWriter logWriter, String user, String password, int rmId)` This method is used to return an instance of ClientPooledConnection(or ClientPooledConnection40) class which implements javax.sql.PooledConnection
`ClientXAConnection` `newClientXAConnection(ClientBaseDataSource ds, LogWriter logWriter, String user, String password)` This method is used to return an instance of ClientXAConnection (or ClientXAConnection40) class which implements javax.sql.XAConnection
`ColumnMetaData` `newColumnMetaData(Agent agent)` Returns an instanceof ColumnMetaData or ColumnMetaData40 depending on the jdk version under use
`ColumnMetaData` `newColumnMetaData(Agent agent, int upperBound)` Returns an instanceof ColumnMetaData or ColumnMetaData40 depending on the jdk version under use
`LogicalCallableStatement` `newLogicalCallableStatement(Agent agent, CallableStatement cs, StatementKey stmtKey, StatementCacheInteractor cacheInteractor)` Returns a new logical callable statement object.
`LogicalConnection` `newLogicalConnection(Connection physicalConnection, ClientPooledConnection pooledConnection)` Returns an instance of LogicalConnection.
`LogicalPreparedStatement` `newLogicalPreparedStatement(Agent agent, PreparedStatement ps, StatementKey stmtKey, StatementCacheInteractor cacheInteractor)` Returns a new logcial prepared statement object.
`Connection` `newNetConnection(LogWriter netLogWriter, ClientBaseDataSource clientDataSource, String user, String password)` This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface
`Connection` `newNetConnection(LogWriter netLogWriter, int driverManagerLoginTimeout, String serverName, int portNumber, String databaseName, Properties properties)` This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface
`Connection` `newNetConnection(LogWriter netLogWriter, String ipaddr, int portNumber, ClientBaseDataSource dataSource, boolean isXAConn)` This methos returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface
`Connection` `newNetConnection(LogWriter netLogWriter, String databaseName, Properties properties)` This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface
`Connection` `newNetConnection(LogWriter netLogWriter, String user, String password, ClientBaseDataSource dataSource, int rmId, boolean isXAConn)` This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

`Connection`

`newNetConnection(LogWriter netLogWriter, String user, String password, ClientBaseDataSource dataSource, int rmId, boolean isXAConn, ClientPooledConnection cpc)`
This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface This method is used to pass the ClientPooledConnection object to the NetConnection object which can then be used to pass the statement events back to the user

`DatabaseMetaData` `newNetDatabaseMetaData(Agent netAgent, Connection netConnection)` This method provides an instance of NetDatabaseMetaData (or NetDatabaseMetaData40) which extends from com.pivotal.gemfirexd.internal.client.am.DatabaseMetaData which implements java.sql.DatabaseMetaData

`ResultSet`

`newNetResultSet(Agent netAgent, MaterialStatement netStatement, Cursor cursor, int qryprctyp, int sqlcsrhld, int qryattscr, int qryattsns, int qryattset, long qryinsid, int actualResultSetType, int actualResultSetConcurrency, int actualResultSetHoldability)`
This method returns an instance of NetResultSet(or NetResultSet40) which extends from com.pivotal.gemfirexd.internal.client.am.ResultSet which implements java.sql.ResultSet

`ParameterMetaData` `newParameterMetaData(ColumnMetaData columnMetaData)` returns an instance of ParameterMetaData or ParameterMetaData40 depending on the jdk version under use

`PreparedStatement`

`newPreparedStatement(Agent agent, Connection connection, String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes, ClientPooledConnection cpc)`
Returns an instance of PreparedStatement (or PreparedStatement40) which implements java.sql.PreparedStatement It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed

`PreparedStatement` `newPreparedStatement(Agent agent, Connection connection, String sql, Section section, ClientPooledConnection cpc)` This method returns an instance of PreparedStatement (or PreparedStatement40) which implements java.sql.PreparedStatement It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed
`Statement` `newStatement(Agent agent, Connection connection)` This method provides an instance of Statement or Statement40 depending on the jdk version under use
`Statement` `newStatement(Agent agent, Connection connection, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes)` This method provides an instance of Statement or Statement40 depending on the jdk version under use

### Method Detail

#### newClientPooledConnection

    ClientPooledConnection newClientPooledConnection(ClientBaseDataSource ds,
                                                   LogWriter logWriter,
                                                   String user,
                                                   String password)
                                                     throws SQLException

This method is used to return an instance of ClientPooledConnection (or ClientPooledConnection40) class which implements javax.sql.PooledConnection

Throws:
  `SQLException`

#### newClientPooledConnection

    ClientPooledConnection newClientPooledConnection(ClientBaseDataSource ds,
                                                   LogWriter logWriter,
                                                   String user,
                                                   String password,
                                                   int rmId)
                                                     throws SQLException

This method is used to return an instance of ClientPooledConnection(or ClientPooledConnection40) class which implements javax.sql.PooledConnection

Throws:
  `SQLException`

#### newClientXAConnection

    ClientXAConnection newClientXAConnection(ClientBaseDataSource ds,
                                           LogWriter logWriter,
                                           String user,
                                           String password)
                                             throws SQLException

This method is used to return an instance of ClientXAConnection (or ClientXAConnection40) class which implements javax.sql.XAConnection

Throws:
  `SQLException`

#### newCallableStatement

    CallableStatement newCallableStatement(Agent agent,
                                         Connection connection,
                                         String sql,
                                         int type,
                                         int concurrency,
                                         int holdability,
                                         ClientPooledConnection cpc)
                                           throws SqlException

Returns an instance of com.pivotal.gemfirexd.internal.client.am.CallableStatement. or CallableStatement40 which implements java.sql.CallableStatement

Parameters:
  `agent` - The instance of NetAgent associated with this CallableStatement object.
  `connection` - The connection object associated with this PreparedStatement Object.
  `sql` - A String object that is the SQL statement to be sent to the database.
  `type` - One of the ResultSet type constants
  `concurrency` - One of the ResultSet concurrency constants
  `holdability` - One of the ResultSet holdability constants
  `cpc` - The PooledConnection object that will be used to notify the PooledConnection reference of the Error Occurred and the Close events.
Returns:
  a CallableStatement object
Throws:
  `SqlException`

#### newLogicalConnection

    LogicalConnection newLogicalConnection(Connection physicalConnection,
                                         ClientPooledConnection pooledConnection)
                                           throws SqlException

Returns an instance of LogicalConnection. This method returns an instance of LogicalConnection (or LogicalConnection40) which implements java.sql.Connection.

Throws:
  `SqlException`

#### newCachingLogicalConnection

    LogicalConnection newCachingLogicalConnection(Connection physicalConnection,
                                                ClientPooledConnection pooledConnection,
                                                JDBCStatementCache stmtCache)
                                                  throws SqlException

Returns an instance of a `CachingLogicalConnection`, which provides caching of prepared statements.

Parameters:
  `physicalConnection` - the underlying physical connection
  `pooledConnection` - the pooled connection
  `stmtCache` - statement cache
Returns:
  A logical connection with statement caching capabilities.
Throws:
  `SqlException` - if creation of the logical connection fails

#### newPreparedStatement

    PreparedStatement newPreparedStatement(Agent agent,
                                         Connection connection,
                                         String sql,
                                         Section section,
                                         ClientPooledConnection cpc)
                                           throws SqlException

This method returns an instance of PreparedStatement (or PreparedStatement40) which implements java.sql.PreparedStatement It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed

Parameters:
  `agent` - The instance of NetAgent associated with this CallableStatement object.
  `connection` - The connection object associated with this PreparedStatement Object.
  `sql` - A String object that is the SQL statement to be sent to the database.
  `section` - Section
  `cpc` - The ClientPooledConnection wraps the underlying physical connection associated with this prepared statement. It is used to pass the Statement closed and the Statement error occurred events that occur back to the ClientPooledConnection.
Returns:
  a PreparedStatement object
Throws:
  `SqlException`

#### newPreparedStatement

    PreparedStatement newPreparedStatement(Agent agent,
                                         Connection connection,
                                         String sql,
                                         int type,
                                         int concurrency,
                                         int holdability,
                                         int autoGeneratedKeys,
                                         String[] columnNames,
                                         int[] columnIndexes,
                                         ClientPooledConnection cpc)
                                           throws SqlException

Returns an instance of PreparedStatement (or PreparedStatement40) which implements java.sql.PreparedStatement It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed

Parameters:
  `agent` - The instance of NetAgent associated with this CallableStatement object.
  `connection` - The connection object associated with this PreparedStatement Object.
  `sql` - A String object that is the SQL statement to be sent to the database.
  `type` - One of the ResultSet type constants.
  `concurrency` - One of the ResultSet concurrency constants.
  `holdability` - One of the ResultSet holdability constants.
  `autoGeneratedKeys` - a flag indicating whether auto-generated keys should be returned.
  `columnNames` - an array of column names indicating the columns that should be returned from the inserted row or rows.
  `columnIndexes` - an array of column indexes indicating the columns that should be returned form the inserted row.
  `cpc` - The ClientPooledConnection wraps the underlying physical connection associated with this prepared statement it is used to pass the Statement closed and the Statement error occurred events that occur back to the ClientPooledConnection.
Returns:
  a PreparedSatement object
Throws:
  `SqlException`

#### newLogicalPreparedStatement

    LogicalPreparedStatement newLogicalPreparedStatement(Agent agent,
                                                       PreparedStatement ps,
                                                       StatementKey stmtKey,
                                                       StatementCacheInteractor cacheInteractor)

Returns a new logcial prepared statement object.

Parameters:
  `ps` - underlying physical prepared statement
  `stmtKey` - key for the underlying physical prepared statement
  `cacheInteractor` - the statement cache interactor
Returns:
  A logical prepared statement.

#### newLogicalCallableStatement

    LogicalCallableStatement newLogicalCallableStatement(Agent agent,
                                                       CallableStatement cs,
                                                       StatementKey stmtKey,
                                                       StatementCacheInteractor cacheInteractor)

Returns a new logical callable statement object.

Parameters:
  `cs` - underlying physical callable statement
  `stmtKey` - key for the underlying physical callable statement
  `cacheInteractor` - the statement cache interactor
Returns:
  A logical callable statement.

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              String databaseName,
                              Properties properties)
                                throws SqlException

This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

Throws:
  `SqlException`

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              ClientBaseDataSource clientDataSource,
                              String user,
                              String password)
                                throws SqlException

This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

Throws:
  `SqlException`

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              int driverManagerLoginTimeout,
                              String serverName,
                              int portNumber,
                              String databaseName,
                              Properties properties)
                                throws SqlException

This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

Throws:
  `SqlException`

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              String user,
                              String password,
                              ClientBaseDataSource dataSource,
                              int rmId,
                              boolean isXAConn)
                                throws SqlException

This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

Throws:
  `SqlException`

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              String ipaddr,
                              int portNumber,
                              ClientBaseDataSource dataSource,
                              boolean isXAConn)
                                throws SqlException

This methos returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface

Throws:
  `SqlException`

#### newNetConnection

    Connection newNetConnection(LogWriter netLogWriter,
                              String user,
                              String password,
                              ClientBaseDataSource dataSource,
                              int rmId,
                              boolean isXAConn,
                              ClientPooledConnection cpc)
                                throws SqlException

This method returns an instance of NetConnection (or NetConnection40) class which extends from com.pivotal.gemfirexd.internal.client.am.Connection this implements the java.sql.Connection interface This method is used to pass the ClientPooledConnection object to the NetConnection object which can then be used to pass the statement events back to the user

Parameters:
  `netLogWriter` - placeholder for NetLogWriter object associated with this connection
  `user` - user id for this connection
  `password` - password for this connection
  `dataSource` - The DataSource object passed from the PooledConnection object from which this constructor was called
  `rmId` - The Resource Manager ID for XA Connections
  `isXAConn` - true if this is a XA connection
  `cpc` - The ClientPooledConnection object from which this NetConnection constructor was called. This is used to pass StatementEvents back to the pooledConnection object
Throws:
  `SqlException`

#### newNetResultSet

    ResultSet newNetResultSet(Agent netAgent,
                            MaterialStatement netStatement,
                            Cursor cursor,
                            int qryprctyp,
                            int sqlcsrhld,
                            int qryattscr,
                            int qryattsns,
                            int qryattset,
                            long qryinsid,
                            int actualResultSetType,
                            int actualResultSetConcurrency,
                            int actualResultSetHoldability)
                              throws SqlException

This method returns an instance of NetResultSet(or NetResultSet40) which extends from com.pivotal.gemfirexd.internal.client.am.ResultSet which implements java.sql.ResultSet

Throws:
  `SqlException`

#### newNetDatabaseMetaData

    DatabaseMetaData newNetDatabaseMetaData(Agent netAgent,
                                          Connection netConnection)

This method provides an instance of NetDatabaseMetaData (or NetDatabaseMetaData40) which extends from com.pivotal.gemfirexd.internal.client.am.DatabaseMetaData which implements java.sql.DatabaseMetaData

#### newStatement

    Statement newStatement(Agent agent,
                         Connection connection)
                           throws SqlException

This method provides an instance of Statement or Statement40 depending on the jdk version under use

Parameters:
  `agent` - Agent
  `connection` - Connection
Returns:
  a java.sql.Statement implementation
Throws:
  `SqlException`

#### newStatement

    Statement newStatement(Agent agent,
                         Connection connection,
                         int type,
                         int concurrency,
                         int holdability,
                         int autoGeneratedKeys,
                         String[] columnNames,
                         int[] columnIndexes)
                           throws SqlException

This method provides an instance of Statement or Statement40 depending on the jdk version under use

Parameters:
  `agent` - Agent
  `connection` - Connection
  `type` - int
  `concurrency` - int
  `holdability` - int
  `autoGeneratedKeys` - int
  `columnNames` - String[]
  `columnIndexes` - int[]
Returns:
  a java.sql.Statement implementation
Throws:
  `SqlException`

#### newColumnMetaData

    ColumnMetaData newColumnMetaData(Agent agent)

Returns an instanceof ColumnMetaData or ColumnMetaData40 depending on the jdk version under use

Parameters:
  `logWriter` - LogWriter
Returns:
  a ColumnMetaData implementation

#### newColumnMetaData

    ColumnMetaData newColumnMetaData(Agent agent,
                                   int upperBound)

Returns an instanceof ColumnMetaData or ColumnMetaData40 depending on the jdk version under use

Parameters:
  `logWriter` - LogWriter
  `upperBound` - int
Returns:
  a ColumnMetaData implementation

#### getSingleHopResultSet

    ResultSet getSingleHopResultSet(NetResultSet nrs0,
                                  PreparedStatement[] psarray,
                                  NetConnection.DSConnectionInfo dsConnInfo)

#### newParameterMetaData

    ParameterMetaData newParameterMetaData(ColumnMetaData columnMetaData)

returns an instance of ParameterMetaData or ParameterMetaData40 depending on the jdk version under use

Parameters:
  `columnMetaData` - ColumnMetaData
Returns:
  a ParameterMetaData implementation