net.shibboleth.metadata.pipeline
Interface Pipeline<ItemType extends Item<?>>

Type Parameters:
ItemType - type of Item which is produced by this source
All Superinterfaces:
Component
All Known Implementing Classes:
SimplePipeline

@ThreadSafe
public interface Pipeline<ItemType extends Item<?>>
extends Component

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 Component.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
 void execute(Collection<ItemType> itemCollection)
          Executes each registered Stage in turn.
 List<Stage<ItemType>> getStages()
          Gets the list of Stages within the pipeline.
 
Methods inherited from interface net.shibboleth.metadata.pipeline.Component
getId, getInitializationInstant, initialize, isInitialized
 

Method Detail

getStages

List<Stage<ItemType>> getStages()
Gets the list of Stages within the pipeline.

Returns:
unmodifiable list of stages within the pipeline

execute

void execute(Collection<ItemType> itemCollection)
             throws PipelineProcessingException
Executes each registered Stage in turn.

Parameters:
itemCollection - the collection that will hold the Item as it passes from stage to stage
Throws:
PipelineProcessingException - thrown if there is a problem processing the pipeline


Copyright © 2009-2011. All Rights Reserved.