Class NESTSequenceNodeObjectImpl
java.lang.Object
de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphItemObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTNodeObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTSequenceNodeObjectImpl
- All Implemented Interfaces:
DataObject
,NESTGraphItemObject
,NESTNodeObject
,NESTSequenceNodeObject
,PropertyHandler
,Comparable<NESTGraphItemObject>
- Direct Known Subclasses:
NESTControlflowNodeObjectImpl
,NESTTaskNodeObjectImpl
public class NESTSequenceNodeObjectImpl
extends NESTNodeObjectImpl
implements NESTSequenceNodeObject
Definition of a Sequence-Node of a NEST-graph. Refer to the corresponding Interface
NESTTaskNodeObject
for more information.- Author:
- Gilbert Müller
-
Field Summary
Fields inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphItemObjectImpl
graph
Fields inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
objectId
Fields inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphItemObject
LOG_ATTRIBUTE_NOT_FOUND
-
Constructor Summary
-
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
isPredecessorOf
(Set<NESTSequenceNodeObject> nodeSet) 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
isSuccessorOf
(Set<NESTSequenceNodeObject> nodeSet) 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 class de.uni_trier.wi2.procake.data.object.nest.impl.NESTNodeObjectImpl
addIngoingEdge, addOutgoingEdge, getDirectParentNode, getEdges, getEdges, getIngoingEdges, getIngoingEdges, getOutgoingEdges, getOutgoingEdges, getParentNodes, isDirectPartOf, isPartOf, removeAllEdges, removeAllIngoingEdges, removeAllOutgoingEdges, removeIngoingEdge, removeOutgoingEdge, setId
Methods inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphItemObjectImpl
addSemanticValue, addSemanticValue, assertSameValueAsIn, compareTo, computeSemanticDescriptorSimilarity, equalId, getGraph, getSemanticDescriptor, getSemanticDescriptorBooleanValue, getSemanticDescriptorStringValue, getSemanticDescriptorValue, getSemanticValueRecursively, hasSameValueAsIn, hasSemanticallyEqualDescriptor, hasSemanticallyEqualDescriptor, setGraph, setSemanticDescriptor, setSemanticDescriptorBooleanValue, setSemanticDescriptorStringValue, setSemanticDescriptorValue, toDetailedString, toString
Methods inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
addProperty, addProperty, copy, deepCopy, getAllProperties, getAllPropertyNodes, getDataClass, getId, getModel, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasClassName, hasProperties, 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, removeProperty, setDataClass, setPropertyRootNode, toXML
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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
-
Constructor Details
-
NESTSequenceNodeObjectImpl
-
-
Method Details
-
getNextNodes
Description copied from interface:NESTSequenceNodeObject
Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes).- Specified by:
getNextNodes
in interfaceNESTSequenceNodeObject
-
getNextNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes) in deterministic order.- Specified by:
getNextNodesOrdered
in interfaceNESTSequenceNodeObject
-
getNextNodes
Description copied from interface:NESTSequenceNodeObject
Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes)- Specified by:
getNextNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getNextNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns a set of successor nodes that are connected via a controlflow-edge (e.g. successor task nodes or controlflow nodes) in deterministic order.- Specified by:
getNextNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllNextNodes
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node- Specified by:
getAllNextNodes
in interfaceNESTSequenceNodeObject
-
getAllNextNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.- Specified by:
getAllNextNodesOrdered
in interfaceNESTSequenceNodeObject
-
getAllNextNodes
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node- Specified by:
getAllNextNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllNextNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are successor nodes (nodes that are connected via controlflow-edges) of this node in deterministic order.- Specified by:
getAllNextNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllNextNodesTo
public Set<NESTSequenceNodeObject> getAllNextNodesTo(NESTSequenceNodeObject endNode, boolean skipLoopReverseEdge) Description copied from interface:NESTSequenceNodeObject
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- Specified by:
getAllNextNodesTo
in interfaceNESTSequenceNodeObject
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
public List<NESTSequenceNodeObject> getAllNextNodesToOrdered(NESTSequenceNodeObject endNode, boolean skipLoopReverseEdge) Description copied from interface:NESTSequenceNodeObject
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.- Specified by:
getAllNextNodesToOrdered
in interfaceNESTSequenceNodeObject
skipLoopReverseEdge
- If true, all loop reverse paths are ignored- Returns:
- set of all sequence nodes excluding this start node and the given end node.
-
getPreviousNodes
Description copied from interface:NESTSequenceNodeObject
Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g. predecessor task nodes or controlflow nodes)- Specified by:
getPreviousNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getPreviousNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns a set of predecessor nodes that are connected via a controlflow-edge (e.g. predecessor task nodes or controlflow nodes) in deterministic order.- Specified by:
getPreviousNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllPreviousNodes
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of node- Specified by:
getAllPreviousNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllPreviousNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns all sequence nodes that are predecessor nodes (nodes that are connected via controlflow-edges) of node in deterministic order.- Specified by:
getAllPreviousNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getPrevTaskNodes
Description copied from interface:NESTSequenceNodeObject
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- Specified by:
getPrevTaskNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getPrevTaskNodesOrdered
Description copied from interface:NESTSequenceNodeObject
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.- Specified by:
getPrevTaskNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllPrevTaskNodes
Description copied from interface:NESTSequenceNodeObject
Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of node- Specified by:
getAllPrevTaskNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllPrevTaskNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns all tasks that are predecessor tasks (tasks that are reverse connected via controlflow-edges) of node in deterministic order.- Specified by:
getAllPrevTaskNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getNextTaskNodes
Description copied from interface:NESTSequenceNodeObject
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- Specified by:
getNextTaskNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getNextTaskNodesOrdered
Description copied from interface:NESTSequenceNodeObject
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.- Specified by:
getNextTaskNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored
-
getAllNextTaskNodes
Description copied from interface:NESTSequenceNodeObject
Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node.- Specified by:
getAllNextTaskNodes
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored- Returns:
-
getAllNextTaskNodesOrdered
Description copied from interface:NESTSequenceNodeObject
Returns all tasks that are successor tasks (tasks that are connected via controlflow-edges) of this node in deterministic order.- Specified by:
getAllNextTaskNodesOrdered
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored- Returns:
-
getPreviousNode
Description copied from interface:NESTSequenceNodeObject
Returns the predecessor node if there is only one available otherwise null will be returned- Specified by:
getPreviousNode
in interfaceNESTSequenceNodeObject
-
getNextNode
Description copied from interface:NESTSequenceNodeObject
Returns the successor node if there is only one available otherwise null will be returned- Specified by:
getNextNode
in interfaceNESTSequenceNodeObject
-
getAllDataNodes
- Specified by:
getAllDataNodes
in interfaceNESTSequenceNodeObject
- Returns:
- returns a set of all data nodes that are produced or consumed by this sequence node.
-
getAllDataNodes
- Specified by:
getAllDataNodes
in interfaceNESTSequenceNodeObject
- Parameters:
filter
- filter to apply- Returns:
-
getOutputDataNodes
- Specified by:
getOutputDataNodes
in interfaceNESTSequenceNodeObject
- Returns:
- returns a set of data nodes that are produced by this sequence node.
-
getOutputDataNodes
- Specified by:
getOutputDataNodes
in interfaceNESTSequenceNodeObject
- Parameters:
filter
- filter to apply- Returns:
-
getInputDataNodes
- Specified by:
getInputDataNodes
in interfaceNESTSequenceNodeObject
- Returns:
- returns a set of data nodes that are consumed by this sequence node.
-
getInputDataNodes
- Specified by:
getInputDataNodes
in interfaceNESTSequenceNodeObject
- Parameters:
filter
- filter to apply- Returns:
-
isPredecessorOf
Description copied from interface:NESTSequenceNodeObject
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.- Specified by:
isPredecessorOf
in interfaceNESTSequenceNodeObject
-
isSuccessorOf
Description copied from interface:NESTSequenceNodeObject
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.- Specified by:
isSuccessorOf
in interfaceNESTSequenceNodeObject
-
getPathsTo
public List<List<NESTSequenceNodeObject>> getPathsTo(NESTSequenceNodeObject postNode, boolean skipLoopReverseEdge) Description copied from interface:NESTSequenceNodeObject
Returns a list of paths (list of sequence nodes) between the given node and the post node (excluding both).- Specified by:
getPathsTo
in interfaceNESTSequenceNodeObject
skipLoopReverseEdge
- If true, all loop reverse paths are ignored.- Returns:
-
getPathsToEnd
Description copied from interface:NESTSequenceNodeObject
Returns a list of paths (list of sequence nodes) between the given node and all possible end nodes of the graph.- Specified by:
getPathsToEnd
in interfaceNESTSequenceNodeObject
- Parameters:
skipLoopReverseEdge
- If true, all loop reverse paths are ignored.- Returns:
-