org.springframework.jca.cci.core
Interface CciOperations

All Known Implementing Classes:
CciTemplate

public interface CciOperations

Interface that specifies a basic set of CCI operations on an EIS. Implemented by CciTemplate. Not often used, but a useful option to enhance testability, as it can easily be mocked or stubbed.

Alternatively, the standard CCI infrastructure can be mocked. However, mocking this interface constitutes significantly less work.

Since:
1.2
Author:
Juergen Hoeller
See Also:
CciTemplate

Method Summary
<T> T
execute(ConnectionCallback<T> action)
          Execute a request on an EIS with CCI, implemented as callback action working on a CCI Connection.
<T> T
execute(InteractionCallback<T> action)
          Execute a request on an EIS with CCI, implemented as callback action working on a CCI Interaction.
 Record execute(InteractionSpec spec, Record inputRecord)
          Execute the specified interaction on an EIS with CCI.
 Record execute(InteractionSpec spec, RecordCreator inputCreator)
          Execute the specified interaction on an EIS with CCI.
<T> T
execute(InteractionSpec spec, RecordCreator inputCreator, RecordExtractor<T> outputExtractor)
          Execute the specified interaction on an EIS with CCI.
 void execute(InteractionSpec spec, Record inputRecord, Record outputRecord)
          Execute the specified interaction on an EIS with CCI.
<T> T
execute(InteractionSpec spec, Record inputRecord, RecordExtractor<T> outputExtractor)
          Execute the specified interaction on an EIS with CCI.
 

Method Detail

execute

<T> T execute(ConnectionCallback<T> action)
          throws DataAccessException
Execute a request on an EIS with CCI, implemented as callback action working on a CCI Connection. This allows for implementing arbitrary data access operations, within Spring's managed CCI environment: that is, participating in Spring-managed transactions and converting JCA ResourceExceptions into Spring's DataAccessException hierarchy.

The callback action can return a result object, for example a domain object or a collection of domain objects.

Parameters:
action - the callback object that specifies the action
Returns:
the result object returned by the action, if any
Throws:
DataAccessException - if there is any problem

execute

<T> T execute(InteractionCallback<T> action)
          throws DataAccessException
Execute a request on an EIS with CCI, implemented as callback action working on a CCI Interaction. This allows for implementing arbitrary data access operations on a single Interaction, within Spring's managed CCI environment: that is, participating in Spring-managed transactions and converting JCA ResourceExceptions into Spring's DataAccessException hierarchy.

The callback action can return a result object, for example a domain object or a collection of domain objects.

Parameters:
action - the callback object that specifies the action
Returns:
the result object returned by the action, if any
Throws:
DataAccessException - if there is any problem

execute

Record execute(InteractionSpec spec,
               Record inputRecord)
               throws DataAccessException
Execute the specified interaction on an EIS with CCI.

Parameters:
spec - the CCI InteractionSpec instance that defines the interaction (connector-specific)
inputRecord - the input record
Returns:
the output record
Throws:
DataAccessException - if there is any problem

execute

void execute(InteractionSpec spec,
             Record inputRecord,
             Record outputRecord)
             throws DataAccessException
Execute the specified interaction on an EIS with CCI.

Parameters:
spec - the CCI InteractionSpec instance that defines the interaction (connector-specific)
inputRecord - the input record
outputRecord - the output record
Throws:
DataAccessException - if there is any problem

execute

Record execute(InteractionSpec spec,
               RecordCreator inputCreator)
               throws DataAccessException
Execute the specified interaction on an EIS with CCI.

Parameters:
spec - the CCI InteractionSpec instance that defines the interaction (connector-specific)
inputCreator - object that creates the input record to use
Returns:
the output record
Throws:
DataAccessException - if there is any problem

execute

<T> T execute(InteractionSpec spec,
              Record inputRecord,
              RecordExtractor<T> outputExtractor)
          throws DataAccessException
Execute the specified interaction on an EIS with CCI.

Parameters:
spec - the CCI InteractionSpec instance that defines the interaction (connector-specific)
inputRecord - the input record
outputExtractor - object to convert the output record to a result object
Returns:
the output data extracted with the RecordExtractor object
Throws:
DataAccessException - if there is any problem

execute

<T> T execute(InteractionSpec spec,
              RecordCreator inputCreator,
              RecordExtractor<T> outputExtractor)
          throws DataAccessException
Execute the specified interaction on an EIS with CCI.

Parameters:
spec - the CCI InteractionSpec instance that defines the interaction (connector-specific)
inputCreator - object that creates the input record to use
outputExtractor - object to convert the output record to a result object
Returns:
the output data extracted with the RecordExtractor object
Throws:
DataAccessException - if there is any problem