Interface NESTAbstractWorkflowObject

All Superinterfaces:
DataObject, Iterable<NESTSequenceNodeObject>, NESTGraphObject, PropertyHandler
All Known Subinterfaces:
NESTSequentialWorkflowObject, NESTWorkflowObject
All Known Implementing Classes:
NESTAbstractWorkflowObjectImpl, NESTSequentialWorkflowObjectImpl, NESTWorkflowObjectImpl

public interface NESTAbstractWorkflowObject extends NESTGraphObject, Iterable<NESTSequenceNodeObject>
  • Method Details

    • getModifier

      Returns the modifier.
      Specified by:
      getModifier in interface NESTGraphObject
      Returns:
    • getWorkflowNode

      NESTWorkflowNodeObject getWorkflowNode()
      Returns the WorkflowNode, if there is any
      Returns:
    • getTaskNodes

      Set<NESTTaskNodeObject> getTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
      Returns the complete set of task nodes registered in the graph.
      Parameters:
      filter - filter to apply
      Returns:
      Set of task nodes in the graph.
    • getTaskNodes

      Set<NESTTaskNodeObject> getTaskNodes()
      Returns the complete set of task nodes registered in the graph.
      Returns:
      Set of task nodes in the graph.
    • getDataNodes

      Set<NESTDataNodeObject> getDataNodes()
      Returns the complete set of data nodes registered in the graph.
      Returns:
      Set of data nodes in the graph.
    • getDataNodes

      Set<NESTDataNodeObject> getDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Returns the complete set of data nodes registered in the graph.
      Parameters:
      filter - filter to apply
      Returns:
      Set of data nodes in the graph.
    • getStartNodes

      Set<NESTSequenceNodeObject> getStartNodes()
      Returns the list of startNodes (nodes with no incoming NESTControlflowEdge) for this graph.
      Returns:
    • getEndNodes

      Set<NESTSequenceNodeObject> getEndNodes()
      Returns the list of endNodes (nodes with no outgoing NESTControlflowEdge) for this graph.
      Returns:
    • getSequenceNodes

      Set<NESTSequenceNodeObject> getSequenceNodes()
      Returns the complete set of sequence nodes registered in the graph.
      Returns:
      Set of sequence nodes in the graph.
    • getOutputDataNodes

      Set<NESTDataNodeObject> getOutputDataNodes()
      Returns these data objects that are outputs of the entire workflow (no intermediate objects)
      Returns:
      list of data node objects
    • getOutputDataNodes

      Set<NESTDataNodeObject> getOutputDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Returns these data objects that are outputs of the entire workflow (no intermediate objects)
      Parameters:
      filter - filter to apply
      Returns:
      list of data node objects
    • getInputDataNodes

      Set<NESTDataNodeObject> getInputDataNodes()
      Returns these data objects that are inputs of the entire workflow (no intermediate objects)
      Returns:
      list of data node objects
    • getInputDataNodes

      Set<NESTDataNodeObject> getInputDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Returns these data objects that are inputs of the entire workflow (no intermediate objects)
      Parameters:
      filter - filter to apply
      Returns:
      list of data node objects
    • getStartTaskNodes

      Set<NESTTaskNodeObject> getStartTaskNodes()
      Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)
      Returns:
      list of task nodes
    • getStartTaskNodes

      Set<NESTTaskNodeObject> getStartTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
      Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)
      Parameters:
      filter - filter to apply
      Returns:
      list of task nodes
    • getEndTaskNodes

      Set<NESTTaskNodeObject> getEndTaskNodes()
      Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)
      Returns:
      list of task nodes
    • getEndTaskNodes

      Set<NESTTaskNodeObject> getEndTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
      Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)
      Parameters:
      filter - filter to apply
      Returns:
      list of task nodes
    • getDataflowEdges

      Set<NESTDataflowEdgeObject> getDataflowEdges()
      Returns the complete list of controlflowedges contained in the graph
      Returns:
      List of graphedges in the graph.
    • getControlflowEdges

      Set<NESTControlflowEdgeObject> getControlflowEdges()
      Returns all controlflow edges in the graph.
      Returns:
      a set of controlflow edges
    • hasSubWorkflowNodes

      boolean hasSubWorkflowNodes()
      Returns whether the graph contains subWorkflowNodes.
      Returns:
    • getSubWorkflowNodes

      Set<NESTSubWorkflowNodeObject> getSubWorkflowNodes()
      Returns the complete list of subWorkflowNodes registered in the graph.
      Returns:
      List of subWorkflowNodes in the graph.
    • getEqualSyntacticGraphNode

      <T extends NESTNodeObject> T getEqualSyntacticGraphNode(T node)
      Returns a graph node that has the same type (e.g. Data-Node, Task-Node etc.) and an equal semantic descriptor. When iterating through all nodes in the graph the first occurence of a matching node will be returned.
      Parameters:
      node - the node that is compared to the other nodes of the graph
      Returns:
      graph node with the same type and an equal semantic descriptor. If it doesn't exist null