Interface Pipeline<T>

Type Parameters:
T - type of item which is processed by this pipeline
All Superinterfaces:
net.shibboleth.shared.component.Component, net.shibboleth.shared.component.DestructableComponent, net.shibboleth.shared.component.IdentifiedComponent, net.shibboleth.shared.component.InitializableComponent
All Known Implementing Classes:
CompositeStage, SimplePipeline

@ThreadSafe public interface Pipeline<T> extends net.shibboleth.shared.component.DestructableComponent, net.shibboleth.shared.component.IdentifiedComponent, net.shibboleth.shared.component.InitializableComponent
A pipeline represents an ordered list of Stage that operate on a collection of Item. In general the first stage is responsible for populating the collection with an initial set of Items which subsequent stages further modify.

Each pipeline must be initialized, via the InitializableComponent.initialize() method, before use. After a pipeline has been initialized it may never be re-initialized. A pipeline is not considered initialized until all of its Stage, have been initialized.

Pipelines are reusable and threadsafe.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    execute(List<Item<T>> items)
    Executes each registered Stage in turn.
    Gets the list of Stages within the pipeline.

    Methods inherited from interface net.shibboleth.shared.component.DestructableComponent

    destroy, isDestroyed

    Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

    getId

    Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

    initialize, isInitialized
  • Method Details

    • getStages

      @Nonnull @NonnullElements @Unmodifiable List<Stage<T>> getStages()
      Gets the list of Stages within the pipeline.
      Returns:
      unmodifiable list of stages within the pipeline
    • execute

      void execute(@Nonnull @NonnullElements List<Item<T>> items) throws PipelineProcessingException
      Executes each registered Stage in turn.
      Parameters:
      items - the collection that will hold the Items as they pass from stage to stage
      Throws:
      PipelineProcessingException - thrown if there is a problem processing the pipeline