Interface NESTSequenceNodeObject

All Superinterfaces:
Comparable<NESTGraphItemObject>, DataObject, NESTGraphItemObject, NESTNodeObject, PropertyHandler
All Known Subinterfaces:
NESTAndEndNodeObject, NESTAndStartNodeObject, NESTControlflowNodeObject, NESTLoopEndNodeObject, NESTLoopStartNodeObject, NESTOrEndNodeObject, NESTOrStartNodeObject, NESTTaskNodeObject, NESTXorEndNodeObject, NESTXorStartNodeObject
All Known Implementing Classes:
NESTAndEndNodeObjectImpl, NESTAndStartNodeObjectImpl, NESTControlflowNodeObjectImpl, NESTLoopEndNodeObjectImpl, NESTLoopStartNodeObjectImpl, NESTOrEndNodeObjectImpl, NESTOrStartNodeObjectImpl, NESTSequenceNodeObjectImpl, NESTTaskNodeObjectImpl, NESTXorEndNodeObjectImpl, NESTXorStartNodeObjectImpl

public interface NESTSequenceNodeObject extends NESTNodeObject
Interface of a Sequence-Node of a NEST-graph. A sequence node can be all nodes used in the contolflow of a workflow, such as task nodes and controlflow nodes.
Author:
Gilbert Mueller
  • Method Details

    • getNextNodes

      Set<NESTSequenceNodeObject> getNextNodes()
      Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes).
    • getNextNodesOrdered

      List<NESTSequenceNodeObject> getNextNodesOrdered()
      Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes) in deterministic order.
    • getNextNodes

      Set<NESTSequenceNodeObject> getNextNodes(boolean skipLoopReverseEdge)
      Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes)
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getNextNodesOrdered

      List<NESTSequenceNodeObject> getNextNodesOrdered(boolean skipLoopReverseEdge)
      Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes) in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getPreviousNodes

      Set<NESTSequenceNodeObject> getPreviousNodes(boolean skipLoopReverseEdge)
      Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g. predecessor task nodes or controlflow nodes)
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getPreviousNodesOrdered

      List<NESTSequenceNodeObject> getPreviousNodesOrdered(boolean skipLoopReverseEdge)
      Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g. predecessor task nodes or controlflow nodes) in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllPreviousNodes

      Set<NESTSequenceNodeObject> getAllPreviousNodes(boolean skipLoopReverseEdge)
      Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of node
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllPreviousNodesOrdered

      List<NESTSequenceNodeObject> getAllPreviousNodesOrdered(boolean skipLoopReverseEdge)
      Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of node in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getPrevTaskNodes

      Set<NESTTaskNodeObject> getPrevTaskNodes(boolean skipLoopReverseEdge)
      returns all direct predecessor task nodes (connected via controlflow-edge) of a sequence node (recursive method). Previous controlflow nodes are skipped and searched for predecessor task nodes
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getPrevTaskNodesOrdered

      List<NESTTaskNodeObject> getPrevTaskNodesOrdered(boolean skipLoopReverseEdge)
      returns all direct predecessor task nodes (connected via controlflow-edge) of a sequence node (recursive method). Previous controlflow nodes are skipped and searched for predecessor task nodes in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllPrevTaskNodes

      Set<NESTTaskNodeObject> getAllPrevTaskNodes(boolean skipLoopReverseEdge)
      Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of node
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllPrevTaskNodesOrdered

      List<NESTTaskNodeObject> getAllPrevTaskNodesOrdered(boolean skipLoopReverseEdge)
      Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of node in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getNextTaskNodes

      Set<NESTTaskNodeObject> getNextTaskNodes(boolean skipLoopReverseEdge)
      returns all direct successor task nodes (connected via controlflow-edge) of a sequence node (recursive method). Previous controlflow nodes are skipped and searched for successor task nodes
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getNextTaskNodesOrdered

      List<NESTTaskNodeObject> getNextTaskNodesOrdered(boolean skipLoopReverseEdge)
      returns all direct successor task nodes (connected via controlflow-edge) of a sequence node (recursive method). Previous controlflow nodes are skipped and searched for successor task nodes in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllNextTaskNodes

      Set<NESTTaskNodeObject> getAllNextTaskNodes(boolean skipLoopReverseEdge)
      Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
      Returns:
    • getAllNextTaskNodesOrdered

      List<NESTTaskNodeObject> getAllNextTaskNodesOrdered(boolean skipLoopReverseEdge)
      Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
      Returns:
    • getPreviousNode

      NESTSequenceNodeObject getPreviousNode()
      Returns the predecessor node if there is only one available otherwise null will be returned
    • getNextNode

      NESTSequenceNodeObject getNextNode()
      Returns the successor node if there is only one available otherwise null will be returned
    • getAllNextNodes

      Set<NESTSequenceNodeObject> getAllNextNodes()
      Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node
    • getAllNextNodesOrdered

      List<NESTSequenceNodeObject> getAllNextNodesOrdered()
      Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.
    • getAllNextNodes

      Set<NESTSequenceNodeObject> getAllNextNodes(boolean skipLoopReverseEdge)
      Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllNextNodesOrdered

      List<NESTSequenceNodeObject> getAllNextNodesOrdered(boolean skipLoopReverseEdge)
      Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
    • getAllNextNodesTo

      Set<NESTSequenceNodeObject> getAllNextNodesTo(NESTSequenceNodeObject endNode, boolean skipLoopReverseEdge)
      Recursive method to return all sequence (no data nodes) nodes that are connected via a controlflowEdge and are located between this node and the given end node
      Parameters:
      endNode -
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
      Returns:
      set of all sequence nodes excluding this start node and the given end node.
    • getAllNextNodesToOrdered

      List<NESTSequenceNodeObject> getAllNextNodesToOrdered(NESTSequenceNodeObject endNode, boolean skipLoopReverseEdge)
      Recursive method to return all sequence (no data nodes) nodes that are connected via a controlflowEdge and are located between this node and the given end node in deterministic order.
      Parameters:
      endNode -
      skipLoopReverseEdge - If true, all loop reverse paths are ignored
      Returns:
      set of all sequence nodes excluding this start node and the given end node.
    • getAllDataNodes

      Set<NESTDataNodeObject> getAllDataNodes()
      Returns:
      returns a set of all data nodes that are produced or consumed by this sequence node.
    • getAllDataNodes

      Set<NESTDataNodeObject> getAllDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Parameters:
      filter - filter to apply
      Returns:
    • getOutputDataNodes

      Set<NESTDataNodeObject> getOutputDataNodes()
      Returns:
      returns a set of data nodes that are produced by this sequence node.
    • getOutputDataNodes

      Set<NESTDataNodeObject> getOutputDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Parameters:
      filter - filter to apply
      Returns:
    • getInputDataNodes

      Set<NESTDataNodeObject> getInputDataNodes()
      Returns:
      returns a set of data nodes that are consumed by this sequence node.
    • getInputDataNodes

      Set<NESTDataNodeObject> getInputDataNodes(Predicate<? super NESTDataNodeObject> filter)
      Parameters:
      filter - filter to apply
      Returns:
    • isPredecessorOf

      boolean isPredecessorOf(Set<NESTSequenceNodeObject> set)
      Returns whether this node is the predecessor of all nodes given in a set of nodes This method also returns true, if the predecessor node is equal to this node and a predecessor node of all other nodes from the node set.
      Parameters:
      set -
    • isSuccessorOf

      boolean isSuccessorOf(Set<NESTSequenceNodeObject> set)
      Returns whether this node is the successor of all nodes given in a set of nodes This method also returns true, if the successor node is equal to this node and a successor node of all other nodes from the node set.
      Parameters:
      set -
    • getPathsTo

      List<List<NESTSequenceNodeObject>> getPathsTo(NESTSequenceNodeObject postNode, boolean skipLoopReverseEdge)
      Returns a list of paths (list of sequence nodes) between the given node and the post node (excluding both).
      Parameters:
      postNode -
      skipLoopReverseEdge - If true, all loop reverse paths are ignored.
      Returns:
    • getPathsToEnd

      List<List<NESTSequenceNodeObject>> getPathsToEnd(boolean skipLoopReverseEdge)
      Returns a list of paths (list of sequence nodes) between the given node and all possible end nodes of the graph.
      Parameters:
      skipLoopReverseEdge - If true, all loop reverse paths are ignored.
      Returns: