com.hammurapi.common.concurrent

## Class SynapseChain<C,R,K,E extends Exception>

- java.lang.Object
- - com.hammurapi.common.concurrent.SynapseChain<C,R,K,E>

- All Implemented Interfaces:
    Invocable<C,Future<Iterable<R>>,K,E>, Invoker<C,R,K,E>, Synapse<C,R,K,E>

      public class SynapseChain<C,R,K,E extends Exception>
      extends Object
      implements Synapse<C,R,K,E>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SynapseChain(Synapse<C,R,K,E>... synapses)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Class<?>[]` | `getParameterTypes()`
    `Class<Future<Iterable<R>>>` | `getReturnType()`
    `Future<Iterable<R>>` | `invoke(C context, Invocation<K> invocation, ExecutorService executorService)`
    `void` | `setInvocable(Invocable<C,R,K,E> invocable)` Wires invoker to invocable.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SynapseChain

          public SynapseChain(Synapse<C,R,K,E>... synapses)

  - ### Method Detail

    - #### setInvocable

          public void setInvocable(Invocable<C,R,K,E> invocable)

      Description copied from interface: `Invoker`
      Wires invoker to invocable.
      Specified by:
        `setInvocable` in interface `Invoker<C,R,K,E extends Exception>`

    - #### invoke

          public Future<Iterable<R>> invoke(C context,
                                   Invocation<K> invocation,
                                   ExecutorService executorService)

      Specified by:
        `invoke` in interface `Invocable<C,Future<Iterable<R>>,K,E extends Exception>`
        `invocation` - Invocation
        `executorService` - Executor service for performing asynchronous processing.
      Returns:

    - #### getReturnType

          public Class<Future<Iterable<R>>> getReturnType()

      Specified by:
        `getReturnType` in interface `Invocable<C,Future<Iterable<R>>,K,E extends Exception>`

    - #### getParameterTypes

          public Class<?>[] getParameterTypes()

      Specified by:
        `getParameterTypes` in interface `Invocable<C,Future<Iterable<R>>,K,E extends Exception>`