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
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
-
Field Summary
Fields inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphItemObject
LOG_ATTRIBUTE_NOT_FOUND
-
Method Summary
Modifier and TypeMethodDescriptiongetAllDataNodes
(Predicate<? super NESTDataNodeObject> filter) Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this nodegetAllNextNodes
(boolean skipLoopReverseEdge) Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this nodeReturns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.getAllNextNodesOrdered
(boolean skipLoopReverseEdge) Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.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 nodegetAllNextNodesToOrdered
(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.getAllNextTaskNodes
(boolean skipLoopReverseEdge) Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node.getAllNextTaskNodesOrdered
(boolean skipLoopReverseEdge) Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node in deterministic order.getAllPreviousNodes
(boolean skipLoopReverseEdge) Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of nodegetAllPreviousNodesOrdered
(boolean skipLoopReverseEdge) Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of node in deterministic order.getAllPrevTaskNodes
(boolean skipLoopReverseEdge) Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of nodegetAllPrevTaskNodesOrdered
(boolean skipLoopReverseEdge) Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of node in deterministic order.getInputDataNodes
(Predicate<? super NESTDataNodeObject> filter) Returns the successor node if there is only one available otherwise null will be returnedReturns a set of successor nodes that are connected via a controlflow-edge (e.g.getNextNodes
(boolean skipLoopReverseEdge) Returns a set of successor nodes that are connected via a controlflow-edge (e.g.Returns a set of successor nodes that are connected via a controlflow-edge (e.g.getNextNodesOrdered
(boolean skipLoopReverseEdge) Returns a set of successor nodes that are connected via a controlflow-edge (e.g.getNextTaskNodes
(boolean skipLoopReverseEdge) returns all direct successor task nodes (connected via controlflow-edge) of a sequence node (recursive method).getNextTaskNodesOrdered
(boolean skipLoopReverseEdge) returns all direct successor task nodes (connected via controlflow-edge) of a sequence node (recursive method).getOutputDataNodes
(Predicate<? super NESTDataNodeObject> filter) getPathsTo
(NESTSequenceNodeObject postNode, boolean skipLoopReverseEdge) Returns a list of paths (list of sequence nodes) between the given node and the post node (excluding both).getPathsToEnd
(boolean skipLoopReverseEdge) Returns a list of paths (list of sequence nodes) between the given node and all possible end nodes of the graph.Returns the predecessor node if there is only one available otherwise null will be returnedgetPreviousNodes
(boolean skipLoopReverseEdge) Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g.getPreviousNodesOrdered
(boolean skipLoopReverseEdge) Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g.getPrevTaskNodes
(boolean skipLoopReverseEdge) returns all direct predecessor task nodes (connected via controlflow-edge) of a sequence node (recursive method).getPrevTaskNodesOrdered
(boolean skipLoopReverseEdge) returns all direct predecessor task nodes (connected via controlflow-edge) of a sequence node (recursive method).boolean
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.boolean
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.Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface de.uni_trier.wi2.procake.data.object.DataObject
assertSameValueAsIn, copy, getDataClass, getId, getModel, hasClassName, hasSameValueAsIn, hasSystemClassName, isAggregate, isAtomic, isBoolean, isByteArray, isChronologic, isCollection, isDataflowWrapper, isDataReference, isDate, isDouble, isInteger, isInterval, isKindOf, isList, isMemberOf, isNESTConstraintEdge, isNESTControlflowEdge, isNESTControlflowNode, isNESTDataflowEdge, isNESTDataNode, isNESTEdge, isNESTGraph, isNESTNode, isNESTPartOfEdge, isNESTSequenceNode, isNESTSequentialWorkflow, isNESTSubWorkflowNode, isNESTTaskNode, isNESTWorkflow, isNESTWorkflowNode, isNode, isNumeric, isSequence, isSet, isString, isSubWorkflow, isTask, isTime, isTimestamp, isUnion, isURI, isVoid, isWorkflow, removeId, setDataClass, setId, toDetailedString, toXML
Methods inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphItemObject
addSemanticValue, addSemanticValue, computeSemanticDescriptorSimilarity, equalId, getGraph, getSemanticDescriptor, getSemanticDescriptorBooleanValue, getSemanticDescriptorStringValue, getSemanticDescriptorValue, getSemanticValueRecursively, hasSemanticallyEqualDescriptor, hasSemanticallyEqualDescriptor, setGraph, setSemanticDescriptor, setSemanticDescriptorBooleanValue, setSemanticDescriptorStringValue, setSemanticDescriptorValue
Methods inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject
addIngoingEdge, addOutgoingEdge, getDirectParentNode, getEdges, getEdges, getIngoingEdges, getIngoingEdges, getOutgoingEdges, getOutgoingEdges, getParentNodes, isDirectPartOf, isPartOf, removeAllEdges, removeAllIngoingEdges, removeAllOutgoingEdges, removeIngoingEdge, removeOutgoingEdge
Methods inherited from interface de.uni_trier.wi2.procake.data.PropertyHandler
addProperty, addProperty, getAllProperties, getAllPropertyNodes, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasProperties, removeProperty, setPropertyRootNode
-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
- 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
- Parameters:
filter
- filter to apply- Returns:
-
isPredecessorOf
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
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
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:
-