Package nz.org.riskscape.engine.pipeline
Interface NestedPipelineStep
- All Superinterfaces:
Identified
,Step
A Step
that uses another pipeline as part of its processing. These are treated specially as their nested
pipeline needs to be found, validated, realized and generally inspectable by the engine and the user.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Used to track the construction state of this step, as we have to do a bit of collaboration across components to successfully build and validate pipeline steps that nest a child pipeline. -
Field Summary
Fields inherited from interface nz.org.riskscape.engine.pipeline.Step
FUNCTOR_INTERFACES
-
Method Summary
Modifier and TypeMethodDescriptiongetState()
void
Update this nested pipeline to have values from populateUsing - this is a slight contradiction to the otherwise immutable-ness of steps, but is counter-acted with some explicit state tracking to prevent accidental or improper mutation during construction.setNestedPipelineId
(String pipelineId) Methods inherited from interface nz.org.riskscape.engine.Identified
getId, getIdentifiedClass
Methods inherited from interface nz.org.riskscape.engine.pipeline.Step
getDeclaredParameter, getDeclaredParameterNames, getDeclaredParameters, getDefaultInputName, getDescription, getInputArity, getInputNames, getParameterSet, hasNamedInput, named, realize
-
Method Details
-
getState
NestedPipelineStep.State getState()- Returns:
- the state of this step, indicating what getNestedPipeline will return.
-
setNestedPipelineId
- Returns:
- a clone of this pipeline with the nested pipeline being set. This should happen during project initialization and must leave the original step unaltered.
- Throws:
IllegalStateException
- if this pipeline is not in the EMPTY state
-
getNestedPipeline
Pipeline getNestedPipeline()- Returns:
- the nested pipeline that has been set, or stub pipeline with just an id set to the desired pipeline.
-
populate
Update this nested pipeline to have values from populateUsing - this is a slight contradiction to the otherwise immutable-ness of steps, but is counter-acted with some explicit state tracking to prevent accidental or improper mutation during construction.
- Throws:
IllegalStateException
- if this pipeline is not in the POINTER state
-
getSubPipelineParameter
Parameter getSubPipelineParameter()- Returns:
- sub pipeline parameter
-