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

        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

        <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