Class LinkedSteps

java.lang.Object
nz.org.riskscape.engine.task.LinkedSteps

public class LinkedSteps extends Object

Groups together pipeline steps that can be processed in the same task. Many steps are only ever processed individually (i.e. Collectors, Joins, Relations, Sinks). But Projector and Restrictor steps can be grouped together and processed as a single task. The SchedulerBasedExecutor uses LinkedSteps in order to decompose a pipeline into tasks.

  • Constructor Details

    • LinkedSteps

      public LinkedSteps(List<LinkedSteps> predecessors, List<nz.org.riskscape.engine.pipeline.RealizedStep> steps)
  • Method Details

    • getLastStep

      public nz.org.riskscape.engine.pipeline.RealizedStep getLastStep()
    • containsOnly

      public boolean containsOnly(Class<? extends nz.org.riskscape.engine.pipeline.Realized> lookFor)
    • getOrderedPredecessor

      public LinkedSteps getOrderedPredecessor(int index)
    • getFirstStep

      public nz.org.riskscape.engine.pipeline.RealizedStep getFirstStep()
    • hasFanOut

      public boolean hasFanOut()
      Returns:
      true if these steps fan out into multiple downstream steps
    • getGrouped

      public List<nz.org.riskscape.engine.pipeline.RealizedStep> getGrouped()

      The pipeline steps that get processed together as a single TaskSpec

    • getPredecessors

      public List<LinkedSteps> getPredecessors()
    • getDescendants

      public List<LinkedSteps> getDescendants()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object