org.springmodules.orm.orbroker
Class BrokerTemplate

java.lang.Object
  extended by org.springmodules.orm.orbroker.BrokerAccessor
      extended by org.springmodules.orm.orbroker.BrokerTemplate
All Implemented Interfaces:
BrokerOperations

public class BrokerTemplate
extends BrokerAccessor
implements BrokerOperations

Helper class that simplifies O/R Broker data access code, and converts checked BrokerException into unchecked DataAccessExceptions, following the org.springframework.dao exception hierarchy. Uses the same SQLExceptionTranslator mechanism as JdbcTemplate.

Typically used to implement data access or business logic services that use O/R Broker within their implementation but are O/R Broker-agnostic in their interface. The latter or code calling the latter only have to deal with domain objects, query objects, and org.springframework.dao exceptions.

The central method is execute, supporting O/R Broker code implementing the BrokerCallback interface. It provides O/R Broker Executable handling such that neither the BrokerCallback implementation nor the calling code needs to explicitly care about retrieving/closing O/R Broker Executables.

Can be used within a service implementation via direct instantiation with a Broker reference, or get prepared in an application context and given to services as bean reference.

Since:
2005.06.02
Author:
Omar Irbouh
See Also:
BrokerAccessor, BrokerOperations

Field Summary
 
Fields inherited from class org.springmodules.orm.orbroker.BrokerAccessor
logger
 
Constructor Summary
BrokerTemplate()
          Create a new BrokerTemplate instance.
BrokerTemplate(Broker broker)
          Create a new BrokerTemplate instance.
 
Method Summary
protected  void applyNamedParamsToExecutable(Executable executable, java.lang.String[] paramNames, java.lang.Object[] values)
           
 java.lang.Object execute(BrokerCallback action)
           
 int execute(java.lang.String statementID)
           
 int execute(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values)
           
 int execute(java.lang.String statementID, java.lang.String paramName, java.lang.Object value)
           
 int executeBatch(java.lang.String statementID, java.lang.String batchParameterName, java.util.Collection batchParameters)
           
 int[] executeBatch(java.lang.String statementID, java.lang.String batchParameterName, java.lang.Object[] batchParameters)
           
 boolean executeWithBooleanResult(BrokerCallback action)
           
 int executeWithIntResult(BrokerCallback action)
           
 java.util.List executeWithListResult(BrokerCallback action)
           
 java.util.Iterator iterate(java.lang.String statementID, int fetchSize)
           
 java.util.Iterator iterate(java.lang.String statementID, int fetchSize, java.lang.String[] paramNames, java.lang.Object[] values)
           
 java.util.Iterator iterate(java.lang.String statementID, int fetchSize, java.lang.String paramName, java.lang.Object value)
           
 java.util.List selectMany(java.lang.String statementID)
           
 int selectMany(java.lang.String statementID, java.util.Collection resultCollection)
           
 int selectMany(java.lang.String statementID, java.util.Collection resultCollection, int startRow, int rowCount)
           
 java.util.List selectMany(java.lang.String statementID, int startRow, int rowCount)
           
 java.util.List selectMany(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values)
           
 int selectMany(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values, java.util.Collection resultCollection)
           
 int selectMany(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values, java.util.Collection resultCollection, int startRow, int rowCount)
           
 java.util.List selectMany(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values, int startRow, int rowCount)
           
 java.util.List selectMany(java.lang.String statementID, java.lang.String paramName, java.lang.Object value)
           
 int selectMany(java.lang.String statementID, java.lang.String paramName, java.lang.Object value, java.util.Collection resultCollection)
           
 int selectMany(java.lang.String statementID, java.lang.String paramName, java.lang.Object value, java.util.Collection resultCollection, int startRow, int rowCount)
           
 java.util.List selectMany(java.lang.String statementID, java.lang.String paramName, java.lang.Object value, int startRow, int rowCount)
           
 java.lang.Object selectOne(java.lang.String statementID)
           
 boolean selectOne(java.lang.String statementID, java.lang.Object resultObject)
           
 java.lang.Object selectOne(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values)
           
 boolean selectOne(java.lang.String statementID, java.lang.String[] paramNames, java.lang.Object[] values, java.lang.Object resultObject)
           
 java.lang.Object selectOne(java.lang.String statementID, java.lang.String paramName, java.lang.Object value)
           
 boolean selectOne(java.lang.String statementID, java.lang.String paramName, java.lang.Object value, java.lang.Object resultObject)
           
 java.lang.Object selectOneFromMany(java.lang.String statementID, int fromRow)
           
 java.lang.Object selectOneFromMany(java.lang.String statementID, int fromRow, java.lang.String[] paramNames, java.lang.Object[] values)
           
 java.lang.Object selectOneFromMany(java.lang.String statementID, int fromRow, java.lang.String paramName, java.lang.Object value)
           
 
Methods inherited from class org.springmodules.orm.orbroker.BrokerAccessor
afterPropertiesSet, convertBrokerException, getBroker, getDataSource, getExceptionTranslator, isLazyInit, newExecutable, releaseExecutable, setBroker, setDatabaseProductName, setExceptionTranslator, setLazyInit, translateJdbcException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BrokerTemplate

public BrokerTemplate()
Create a new BrokerTemplate instance.


BrokerTemplate

public BrokerTemplate(Broker broker)
Create a new BrokerTemplate instance.

Parameters:
broker - Broker to use for creating executables
Method Detail

execute

public java.lang.Object execute(BrokerCallback action)
                         throws DataAccessException
Throws:
DataAccessException

executeWithListResult

public java.util.List executeWithListResult(BrokerCallback action)
                                     throws DataAccessException
Throws:
DataAccessException

executeWithIntResult

public int executeWithIntResult(BrokerCallback action)
                         throws DataAccessException
Throws:
DataAccessException

executeWithBooleanResult

public boolean executeWithBooleanResult(BrokerCallback action)
                                 throws DataAccessException
Throws:
DataAccessException

execute

public int execute(java.lang.String statementID)
            throws DataAccessException
Specified by:
execute in interface BrokerOperations
Throws:
DataAccessException

execute

public int execute(java.lang.String statementID,
                   java.lang.String paramName,
                   java.lang.Object value)
            throws DataAccessException
Specified by:
execute in interface BrokerOperations
Throws:
DataAccessException

execute

public int execute(java.lang.String statementID,
                   java.lang.String[] paramNames,
                   java.lang.Object[] values)
            throws DataAccessException
Specified by:
execute in interface BrokerOperations
Throws:
DataAccessException

executeBatch

public int executeBatch(java.lang.String statementID,
                        java.lang.String batchParameterName,
                        java.util.Collection batchParameters)
                 throws DataAccessException
Specified by:
executeBatch in interface BrokerOperations
Throws:
DataAccessException

executeBatch

public int[] executeBatch(java.lang.String statementID,
                          java.lang.String batchParameterName,
                          java.lang.Object[] batchParameters)
                   throws DataAccessException
Specified by:
executeBatch in interface BrokerOperations
Throws:
DataAccessException

selectOne

public java.lang.Object selectOne(java.lang.String statementID)
                           throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOne

public java.lang.Object selectOne(java.lang.String statementID,
                                  java.lang.String paramName,
                                  java.lang.Object value)
                           throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOne

public java.lang.Object selectOne(java.lang.String statementID,
                                  java.lang.String[] paramNames,
                                  java.lang.Object[] values)
                           throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOne

public boolean selectOne(java.lang.String statementID,
                         java.lang.Object resultObject)
                  throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOne

public boolean selectOne(java.lang.String statementID,
                         java.lang.String paramName,
                         java.lang.Object value,
                         java.lang.Object resultObject)
                  throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOne

public boolean selectOne(java.lang.String statementID,
                         java.lang.String[] paramNames,
                         java.lang.Object[] values,
                         java.lang.Object resultObject)
                  throws DataAccessException
Specified by:
selectOne in interface BrokerOperations
Throws:
DataAccessException

selectOneFromMany

public java.lang.Object selectOneFromMany(java.lang.String statementID,
                                          int fromRow)
                                   throws DataAccessException
Specified by:
selectOneFromMany in interface BrokerOperations
Throws:
DataAccessException

selectOneFromMany

public java.lang.Object selectOneFromMany(java.lang.String statementID,
                                          int fromRow,
                                          java.lang.String paramName,
                                          java.lang.Object value)
                                   throws DataAccessException
Specified by:
selectOneFromMany in interface BrokerOperations
Throws:
DataAccessException

selectOneFromMany

public java.lang.Object selectOneFromMany(java.lang.String statementID,
                                          int fromRow,
                                          java.lang.String[] paramNames,
                                          java.lang.Object[] values)
                                   throws DataAccessException
Specified by:
selectOneFromMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID,
                                 java.lang.String paramName,
                                 java.lang.Object value)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID,
                                 java.lang.String[] paramNames,
                                 java.lang.Object[] values)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.util.Collection resultCollection)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.lang.String paramName,
                      java.lang.Object value,
                      java.util.Collection resultCollection)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.lang.String[] paramNames,
                      java.lang.Object[] values,
                      java.util.Collection resultCollection)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID,
                                 int startRow,
                                 int rowCount)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID,
                                 java.lang.String paramName,
                                 java.lang.Object value,
                                 int startRow,
                                 int rowCount)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public java.util.List selectMany(java.lang.String statementID,
                                 java.lang.String[] paramNames,
                                 java.lang.Object[] values,
                                 int startRow,
                                 int rowCount)
                          throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.util.Collection resultCollection,
                      int startRow,
                      int rowCount)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.lang.String paramName,
                      java.lang.Object value,
                      java.util.Collection resultCollection,
                      int startRow,
                      int rowCount)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

selectMany

public int selectMany(java.lang.String statementID,
                      java.lang.String[] paramNames,
                      java.lang.Object[] values,
                      java.util.Collection resultCollection,
                      int startRow,
                      int rowCount)
               throws DataAccessException
Specified by:
selectMany in interface BrokerOperations
Throws:
DataAccessException

iterate

public java.util.Iterator iterate(java.lang.String statementID,
                                  int fetchSize)
                           throws DataAccessException
Specified by:
iterate in interface BrokerOperations
Throws:
DataAccessException

iterate

public java.util.Iterator iterate(java.lang.String statementID,
                                  int fetchSize,
                                  java.lang.String paramName,
                                  java.lang.Object value)
                           throws DataAccessException
Specified by:
iterate in interface BrokerOperations
Throws:
DataAccessException

iterate

public java.util.Iterator iterate(java.lang.String statementID,
                                  int fetchSize,
                                  java.lang.String[] paramNames,
                                  java.lang.Object[] values)
                           throws DataAccessException
Specified by:
iterate in interface BrokerOperations
Throws:
DataAccessException

applyNamedParamsToExecutable

protected void applyNamedParamsToExecutable(Executable executable,
                                            java.lang.String[] paramNames,
                                            java.lang.Object[] values)


Copyright © 2005. All Rights Reserved.