## 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