Class StartChainChange

java.lang.Object
nz.org.riskscape.wizard.bld.change.BasePipelineChange<nz.org.riskscape.pipeline.ast.StepChain>
nz.org.riskscape.wizard.bld.change.StartChainChange
All Implemented Interfaces:
PipelineChange

public class StartChainChange extends BasePipelineChange<nz.org.riskscape.pipeline.ast.StepChain>

Change for adding a new StepChain to the pipeline being built

  • Constructor Details

    • StartChainChange

      public StartChainChange(Answer answer, String source)
  • Method Details

    • updateAst

      protected nz.org.riskscape.pipeline.ast.PipelineDeclaration updateAst(IncrementalBuildState state, nz.org.riskscape.pipeline.ast.PipelineDeclaration astSegment, nz.org.riskscape.pipeline.ast.StepChain validated)
      Description copied from class: BasePipelineChange

      Build a new AST that is the result of this change

      Specified by:
      updateAst in class BasePipelineChange<nz.org.riskscape.pipeline.ast.StepChain>
      Parameters:
      state - the previous build state that we are building upon
      astSegment - the segment that was parsed and validated. This is not the previous state's ast.
      validated - the chunk of the parsed segment that the validate routine method returned - this is often the node of interest that ultimately gets added to the previous state's ast
      Returns:
      a pipeline ast to be used in the next IncrementalBuildState
    • validateParsedSegment

      protected nz.org.riskscape.pipeline.ast.StepChain validateParsedSegment(nz.org.riskscape.pipeline.ast.PipelineDeclaration declaration)
      Description copied from class: BasePipelineChange

      Validate that the parsed pipeline segment is ok to use in this kind of change.

      Specified by:
      validateParsedSegment in class BasePipelineChange<nz.org.riskscape.pipeline.ast.StepChain>
      Returns:
      the interesting bit of the pipeline, e.g. a single step, a step chain, whatever
    • getSource

      public String getSource()
      Description copied from class: BasePipelineChange

      TODO maybe break this up in to something else?

      Specified by:
      getSource in class BasePipelineChange<nz.org.riskscape.pipeline.ast.StepChain>
      Returns:
      the source code that was assembled to be parsed in to a PipelineDeclaration