Package net.shibboleth.metadata.pipeline
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
Methods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Method Details
-
getStages
Gets the list of Stages within the pipeline.- Returns:
- unmodifiable list of stages within the pipeline
-
execute
Executes each registeredStagein turn.- Parameters:
items- the collection that will hold theItems as they pass from stage to stage- Throws:
PipelineProcessingException- thrown if there is a problem processing the pipeline
-