| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.ojb.broker.accesslayer.JdbcAccessImpl
public class JdbcAccessImpl
JdbcAccess is responsible for establishing performing SQL Queries against remote Databases. It hides all knowledge about JDBC from the BrokerImpl
| Field Summary | |
|---|---|
| protected  PersistenceBroker | brokerThe broker in use. | 
| protected  Logger | loggerThe logger used. | 
| Constructor Summary | |
|---|---|
| JdbcAccessImpl(PersistenceBroker broker)constructor is private, use getInstance to get the singleton instance of this class | |
| Method Summary | |
|---|---|
| private  ValueContainer[] | addValues(ValueContainer[] target,
                   ValueContainer[] source)Helper method, returns the addition of both arrays (add source to target array) | 
| protected  void | assignAutoincrementIdentityColumns(ClassDescriptor cld,
                                                                     Object target) | 
| protected  void | assignAutoincrementSequences(ClassDescriptor cld,
                                                         Object target) | 
|  void | executeDelete(ClassDescriptor cld,
                           Object obj)performs a DELETE operation against RDBMS. | 
|  void | executeDelete(Query query,
                           ClassDescriptor cld)Performs a DELETE operation based on the given Queryagainst RDBMS. | 
|  void | executeInsert(ClassDescriptor cld,
                           Object obj)performs an INSERT operation against RDBMS. | 
|  ResultSetAndStatement | executeQuery(Query query,
                         ClassDescriptor cld)performs a SELECT operation against RDBMS. | 
|  ResultSetAndStatement | executeSQL(String sqlStatement,
                     ClassDescriptor cld,
                     boolean scrollable)performs a SQL SELECT statement against RDBMS. | 
|  ResultSetAndStatement | executeSQL(String sql,
                     ClassDescriptor cld,
                     ValueContainer[] values,
                     boolean scrollable)performs a SQL SELECT statement against RDBMS. | 
|  void | executeUpdate(ClassDescriptor cld,
                           Object obj)performs an UPDATE operation against RDBMS. | 
|  int | executeUpdateSQL(String sqlStatement,
                                 ClassDescriptor cld)performs a SQL UPDTE, INSERT or DELETE statement against RDBMS. | 
|  int | executeUpdateSQL(String sqlStatement,
                                 ClassDescriptor cld,
                                 ValueContainer[] values1,
                                 ValueContainer[] values2)performs a SQL UPDTE, INSERT or DELETE statement against RDBMS. | 
| private  Platform | getPlatform()Helper Platform accessor method | 
| private  void | harvestReturnValue(Object obj,
                                     CallableStatement callable,
                                     FieldDescriptor fmd,
                                     int index)Harvest a single value that was returned by a callable statement. | 
| private  void | harvestReturnValues(ProcedureDescriptor proc,
                                       Object obj,
                                       PreparedStatement stmt)Harvest any values that may have been returned during the execution of a procedure. | 
| protected  boolean | isStoredProcedure(String sql)Check if the specified sql-string is a stored procedure or not. | 
|  Object | materializeObject(ClassDescriptor cld,
                                   Identity oid)performs a primary key lookup operation against RDBMS and materializes an object from the resulting row. | 
| private  void | setLockingValues(ClassDescriptor cld,
                                 Object obj,
                                 ValueContainer[] oldLockingValues)Set the locking values | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected Logger logger
protected PersistenceBroker broker
| Constructor Detail | 
|---|
public JdbcAccessImpl(PersistenceBroker broker)
| Method Detail | 
|---|
private Platform getPlatform()
public void executeDelete(ClassDescriptor cld,
                          Object obj)
                   throws PersistenceBrokerException
executeDelete in interface JdbcAccesscld - ClassDescriptor providing mapping information.obj - The object to be deleted.
PersistenceBrokerException
public void executeDelete(Query query,
                          ClassDescriptor cld)
                   throws PersistenceBrokerException
Query against RDBMS.
executeDelete in interface JdbcAccessquery - the query string.cld - ClassDescriptor providing JDBC information.
PersistenceBrokerException
public void executeInsert(ClassDescriptor cld,
                          Object obj)
                   throws PersistenceBrokerException
executeInsert in interface JdbcAccessobj - The Object to be inserted as a row of the underlying table.cld - ClassDescriptor providing mapping information.
PersistenceBrokerException
public ResultSetAndStatement executeQuery(Query query,
                                          ClassDescriptor cld)
                                   throws PersistenceBrokerException
executeQuery in interface JdbcAccessquery - the query string.cld - ClassDescriptor providing JDBC information.
PersistenceBrokerException
public ResultSetAndStatement executeSQL(String sqlStatement,
                                        ClassDescriptor cld,
                                        boolean scrollable)
                                 throws PersistenceBrokerException
JdbcAccess
executeSQL in interface JdbcAccesssqlStatement - the query string.cld - ClassDescriptor providing meta-information.scrollable - Does this resultset need cursor control for operations like last, first and size
PersistenceBrokerException
public ResultSetAndStatement executeSQL(String sql,
                                        ClassDescriptor cld,
                                        ValueContainer[] values,
                                        boolean scrollable)
                                 throws PersistenceBrokerException
executeSQL in interface JdbcAccesssql - the query string.cld - ClassDescriptor providing meta-information.values - The set of values to bind to the statement (may be null)scrollable - Does this resultset need cursor control for operations like last, first and size
PersistenceBrokerException
public int executeUpdateSQL(String sqlStatement,
                            ClassDescriptor cld)
                     throws PersistenceBrokerException
JdbcAccess
executeUpdateSQL in interface JdbcAccesssqlStatement - the query string.cld - ClassDescriptor providing meta-information.
PersistenceBrokerException
public int executeUpdateSQL(String sqlStatement,
                            ClassDescriptor cld,
                            ValueContainer[] values1,
                            ValueContainer[] values2)
                     throws PersistenceBrokerException
executeUpdateSQL in interface JdbcAccesssqlStatement - the query string.cld - ClassDescriptor providing meta-information.values1 - The first set of values to bind to the statement (may be null)values2 - The second set of values to bind to the statement (may be null)
PersistenceBrokerException
private ValueContainer[] addValues(ValueContainer[] target,
                                   ValueContainer[] source)
public void executeUpdate(ClassDescriptor cld,
                          Object obj)
                   throws PersistenceBrokerException
executeUpdate in interface JdbcAccessobj - The Object to be updated in the underlying table.cld - ClassDescriptor providing mapping information.
PersistenceBrokerException
public Object materializeObject(ClassDescriptor cld,
                                Identity oid)
                         throws PersistenceBrokerException
materializeObject in interface JdbcAccessoid - contains the primary key info.cld - ClassDescriptor providing mapping information.
PersistenceBrokerException
private void setLockingValues(ClassDescriptor cld,
                              Object obj,
                              ValueContainer[] oldLockingValues)
cld - obj - oldLockingValues - 
private void harvestReturnValues(ProcedureDescriptor proc,
                                 Object obj,
                                 PreparedStatement stmt)
                          throws PersistenceBrokerSQLException
proc - the procedure descriptor that provides info about the procedure
      that was invoked.obj - the object that was persistedstmt - the statement that was used to persist the object.
PersistenceBrokerSQLException - if a problem occurs.
private void harvestReturnValue(Object obj,
                                CallableStatement callable,
                                FieldDescriptor fmd,
                                int index)
                         throws PersistenceBrokerSQLException
obj - the object that will receive the value that is harvested.callable - the CallableStatement that contains the value to harvestfmd - the FieldDescriptor that identifies the field where the
      harvested value will be stord.index - the parameter index.
PersistenceBrokerSQLException - if a problem occurs.protected boolean isStoredProcedure(String sql)
sql - The sql query to check
protected void assignAutoincrementSequences(ClassDescriptor cld,
                                            Object target)
                                     throws SequenceManagerException
SequenceManagerException
protected void assignAutoincrementIdentityColumns(ClassDescriptor cld,
                                                  Object target)
                                           throws SequenceManagerException
SequenceManagerException| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||