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

Methods
`<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