net.sf.okapi.common.pipeline

## Interface IWorkQueueStep<T>

- Type Parameters:
    `T` - - return type of `ICallableStep`, i.e. Event, SortableEvent
  All Superinterfaces:
    IPipelineStep

      public interface IWorkQueueStep<T>
      extends IPipelineStep

  Step that can process multiple events concurrently.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.LinkedList<ICallableStep<T>>` | `getCallableSteps()` Gets the list of `ICallableStep` based on the main or template step.
    `IPipelineStep` | `getMainStep()` Gets the main step wrapped by IWorkQueueStep
    `int` | `getWorkQueueCount()` Get the number of work queues defined for this step
    `void` | `init()` Used when the empty constructor is called
    `void` | `setMainStep(IPipelineStep step)` Sets the main (template for all callabale steps) pipeline step MUST BE CALLED BEFORE init()
    `void` | `setWorkQueueCount(int workQueueCount)` Set the work queue count MUST BE CALLED BEFORE init()

    - ### Methods inherited from interface net.sf.okapi.common.pipeline.IPipelineStep

      `cancel, destroy, getDescription, getHelpLocation, getName, getParameters, handleEvent, isDone, isLastOutputStep, setLastOutputStep, setParameters`

- - ### Method Detail

    - #### getMainStep

          IPipelineStep getMainStep()

      Gets the main step wrapped by IWorkQueueStep
      Returns:
        the main step used as template by `ICallableStep` steps

    - #### getCallableSteps

          java.util.LinkedList<ICallableStep<T>> getCallableSteps()

      Gets the list of `ICallableStep` based on the main or template step.
      Returns:
        the `ICallableStep` steps

    - #### getWorkQueueCount

          int getWorkQueueCount()

      Get the number of work queues defined for this step
      Returns:
        the number of work queue

    - #### init

          void init()
                    throws java.lang.InstantiationException,
                           java.lang.IllegalAccessException

      Used when the empty constructor is called
      Throws:
        `java.lang.InstantiationException` - when we fail to create an instance..
        `java.lang.IllegalAccessException` - when trying to create an instance but don't have the right.

    - #### setMainStep

          void setMainStep(IPipelineStep step)

      Sets the main (template for all callabale steps) pipeline step MUST BE CALLED BEFORE init()
      Parameters:
        `step` - - the main step

    - #### setWorkQueueCount

          void setWorkQueueCount(int workQueueCount)

      Set the work queue count MUST BE CALLED BEFORE init()
      Parameters:
        `workQueueCount` - - the number of step work queues