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

Type Parameters:
ItemType - type of Item which is produced by this source
All Superinterfaces:
net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.IdentifiableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent
All Known Implementing Classes:
SimplePipeline

@ThreadSafe
public interface Pipeline<ItemType extends Item<?>>
extends net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.IdentifiableComponent, net.shibboleth.utilities.java.support.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
 void execute(Collection<ItemType> itemCollection)
          Executes each registered Stage in turn.
 List<? extends Stage<ItemType>> getStages()
          Gets the list of Stages within the pipeline.
 
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
 
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiableComponent
getId
 
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
 

Method Detail

getStages

@Nonnull
@NonnullElements
List<? extends Stage<ItemType>> getStages()
Gets the list of Stages within the pipeline.

Returns:
unmodifiable list of stages within the pipeline

execute

void execute(@Nonnull@NonnullElements
             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 © 1999-2012. All Rights Reserved.