Package org.apache.uima.flow

# Class ParallelStep

java.lang.Object
org.apache.uima.flow.Step
org.apache.uima.flow.ParallelStep

public class ParallelStep extends Step
Indicates that a CAS should be routed to a multiple AnalysisEngines and that the relative order in which these execute does not matter. Logically, they can run in parallel. The runtime is not obligated to actually execute them in parallel, however.

After all the specified Analysis Engines have completed their processing, the `Flow.next()` method will be called again to determine the next destination for the CAS.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ParallelStep(Collection<String> aAnalysisEngineKeys)`
  Creates a new ParallelStep

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<String>`
  `getAnalysisEngineKeys()`
  Gets the keys of the Analysis Engines to which the CAS should be routed.
  `void`
  `setAnalysisEngineKeys(Collection<String> aKeys)`
  Sets the keys of the Analysis Engines to which the CAS should be routed.

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

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

- ## Constructor Details

  - ### ParallelStep

    public ParallelStep(Collection<String> aAnalysisEngineKeys)
    Creates a new ParallelStep
    Parameters:
      `aAnalysisEngineKeys` - A Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed. Each String must bee one of the keys in the FlowController's `FlowControllerContext.getAnalysisEngineMetaDataMap()`.

- ## Method Details

  - ### getAnalysisEngineKeys

    public Collection<String> getAnalysisEngineKeys()
    Gets the keys of the Analysis Engines to which the CAS should be routed.
    Returns:
      an unmodifiable Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed.

  - ### setAnalysisEngineKeys

    public void setAnalysisEngineKeys(Collection<String> aKeys)
    Sets the keys of the Analysis Engines to which the CAS should be routed. By using this method, a user's Flow implementation can (but is not required to) reuse the same ParallelStep object multiple times.
    Parameters:
      `aKeys` - A Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed. Each String must bee one of the keys in the FlowController's `FlowControllerContext.getAnalysisEngineMetaDataMap()`.