Class RealizedStep

java.lang.Object
nz.org.riskscape.engine.pipeline.RealizedStep
All Implemented Interfaces:
AutoCloseable

public class RealizedStep extends Object implements AutoCloseable

A Step that has been realized, such that it has produced valid output. A RealizedStep is a linked traversable DAG in itself, and so is a sort of realized Pipeline whose outputs can be used. TODO make this closable?

  • Constructor Details

  • Method Details

    • emptyInput

      public static RealizedStep emptyInput(String name, Struct type)
      Returns:
      a RealizedStep useful for testing scenarios where you want to test realization of some pipeline bits appended to something
    • addDependent

      public void addDependent(RealizedStep dependent)
      See Also:
    • hasDependents

      public boolean hasDependents()
      Returns:
      true if there are steps in the pipeline that directly depend on this step
    • hasNoDependents

      public boolean hasNoDependents()
    • isFailed

      public boolean isFailed()
      Returns:
      true if this step or a dependency failed
    • isDirectlyFailed

      public boolean isDirectlyFailed()
      Returns:
      true if this step failed, but not if that failure was because of a dependency
    • hasDependencies

      public boolean hasDependencies()
      Returns:
      true if this step has any direct dependencies
    • hasNoDependencies

      public boolean hasNoDependencies()
      Returns:
      false if this step has any direct dependenices
    • getStepName

      public String getStepName()
    • toString

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

      public Optional<Problem> getFailureProblem()
      Returns:
      a composite problem for all errors associated with realizing this step, or empty if there were no errors
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • getStepType

      public Class<? extends Realized> getStepType()
    • getRealized

      public <T extends Realized> Optional<T> getRealized(Class<T> stepType)

      Returns the realized result of this step, cast to a given type. Mostly useful for internal workings where the step is assumed to be of a specific type, as it deals in Optionals, not ResultOrProblems

      Parameters:
      stepType - The type of the result
      Returns:
      The realized result, or empty if this step failed to realize, or if the step isn't of the given step type
    • getProblems

      public List<Problem> getProblems()
      Returns:
      a list of problems from the attempt to realize this step, or an empty list if it didn't have problems during realization
    • getStep

      @NonNull public @NonNull NamedStep getStep()

      The Step that produced a realized output that went in to this RealizedStep

    • getResult

      @NonNull public @NonNull ResultOrProblems<? extends Realized> getResult()

      The output of the step. TODO drop the ResultOrProblems?

    • getBoundParameters

      @NonNull public @NonNull Map<String,List<?>> getBoundParameters()

      The complete set of Parameters that were used to realize this step.

    • getDependencies

      @NonNull public @NonNull List<RealizedStep> getDependencies()

      The complete set of RealizedSteps that were used to realize this step

    • getProduces

      @NonNull public @NonNull Struct getProduces()
    • getDependents

      public Set<RealizedStep> getDependents()

      The set of RealizedSteps that depend on the output of this RealizedStep. These are set as a Pipeline is realized, and so is only complete once a pipeline has been fully realized.

    • 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