Class Workflow

java.lang.Object
org.tasktide.core.model.collection.Workflow
All Implemented Interfaces:
TaskTideModel<Workflow>

@Entity public class Workflow extends Object implements TaskTideModel<Workflow>
Model class for a collection of steps as a workflow/pipeline
  • Constructor Details

    • Workflow

      public Workflow()
      Null constructor
    • Workflow

      public Workflow(String workflowId, String workflowName, Map<String,Step> workflowSteps, CustomAnnotation anno)
      Constructor for JSON (de)serialization
      Parameters:
      workflowId -
      workflowName -
      workflowSteps -
      anno -
    • Workflow

      public Workflow(String workflowId, String workflowName, List<String> stepIds, CustomAnnotation anno)
      Jakarta-NoSQL compatibble constructor?
      Parameters:
      workflowId -
      workflowName -
      stepIds -
      anno -
  • Method Details

    • dropStep

      public boolean dropStep(Step step)
      Calls dropStep using Id of the provided Step
      Parameters:
      step -
      Returns:
      boolean
    • dropStep

      public boolean dropStep(String stepId)
      Drop step Id from workflow, clearing from stepList and stepIds too
      Parameters:
      stepId -
      Returns:
      boolean
    • addStep

      public boolean addStep(Step step)
      Adds provided Step to Workflow if not already present
      Parameters:
      step -
      Returns:
      boolean
    • populateStateMap

      public void populateStateMap()
      JPA PostLoad method for populating step map from stepList
    • getAnnotations

      public CustomAnnotation getAnnotations()
      Get annotations
      Specified by:
      getAnnotations in interface TaskTideModel<Workflow>
      Returns:
      CustomAnnotation
    • setAnnotations

      public void setAnnotations(CustomAnnotation anno)
      Set provided CustomAnnotation
      Specified by:
      setAnnotations in interface TaskTideModel<Workflow>
      Parameters:
      anno -
    • resetModel

      public void resetModel()
      Reset workload
      Specified by:
      resetModel in interface TaskTideModel<Workflow>
    • getCollection

      public String getCollection()
      Return workflow id
      Specified by:
      getCollection in interface TaskTideModel<Workflow>
      Returns:
    • getWorkflowId

      public String getWorkflowId()
      Get workflow Id
      Returns:
      String
    • setWorkflowId

      public void setWorkflowId(String workflowId)
      Set workflow Id
      Parameters:
      workflowId -
    • getWorkflowName

      public String getWorkflowName()
      Get workflow name
      Returns:
      String
    • setWorkflowName

      public void setWorkflowName(String workflowName)
      Set workflow name
      Parameters:
      workflowName -
    • getWorkflowSteps

      public Map<String,Step> getWorkflowSteps()
      Get workflow steps
      Returns:
      Map-String, Step
    • setWorkflowSteps

      public void setWorkflowSteps(Map<String,Step> workflowSteps)
      Set workflow steps
      Parameters:
      workflowSteps -
    • getStepIds

      public List<String> getStepIds()
    • setStepIds

      public void setStepIds(List<String> stepIds)
    • hydrateSteps

      public void hydrateSteps()
    • deHydrateSteps

      public void deHydrateSteps()
    • setWorkflowSteps

      public void setWorkflowSteps(List<Step> steps)
      Set workflow steps
      Parameters:
      steps -
    • toString

      public String toString()
      Represent as string
      Overrides:
      toString in class Object
      Returns:
      String
    • toJsonString

      public String toJsonString()
      Serialize to JSON string
      Returns:
      String
    • toJsonDoc

      public String toJsonDoc()
      Serialize to a human readable formatted JSON string
      Specified by:
      toJsonDoc in interface TaskTideModel<Workflow>
      Returns:
      String
    • getState

      public String getState()
      Description copied from interface: TaskTideModel
      Return current of model
      Specified by:
      getState in interface TaskTideModel<Workflow>
      Returns:
      String
    • toJson

      public String toJson()
      TaskTideModel interface method to represent as JsonDoc
      Specified by:
      toJson in interface TaskTideModel<Workflow>
      Returns:
      String
    • getId

      public String getId()
      TaskTideModel interface method to return Id
      Specified by:
      getId in interface TaskTideModel<Workflow>
      Returns:
      String
    • getValueFromField

      public Object getValueFromField(String field)
      TaskTideModel interface get the value from the required field
      Specified by:
      getValueFromField in interface TaskTideModel<Workflow>
      Parameters:
      field -
      Returns:
      Object