Interface NESTControlflowNodeObject
- All Superinterfaces:
Comparable<NESTGraphItemObject>
,DataObject
,NESTGraphItemObject
,NESTNodeObject
,NESTSequenceNodeObject
,PropertyHandler
- All Known Subinterfaces:
NESTAndEndNodeObject
,NESTAndStartNodeObject
,NESTLoopEndNodeObject
,NESTLoopStartNodeObject
,NESTOrEndNodeObject
,NESTOrStartNodeObject
,NESTXorEndNodeObject
,NESTXorStartNodeObject
- All Known Implementing Classes:
NESTAndEndNodeObjectImpl
,NESTAndStartNodeObjectImpl
,NESTControlflowNodeObjectImpl
,NESTLoopEndNodeObjectImpl
,NESTLoopStartNodeObjectImpl
,NESTOrEndNodeObjectImpl
,NESTOrStartNodeObjectImpl
,NESTXorEndNodeObjectImpl
,NESTXorStartNodeObjectImpl
Interface of a Controlflow-Node of a NEST-graph. Each control flow element in a workflow, such as
split/join elements for and/xor blocks, are represented as a control-flow node. The semantic
description of a control flow node specifies which control flow element is represented.
Data-centric workflows may have no control flow nodes.
- Author:
- Alexander Stromer
-
Field Summary
Fields inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphItemObject
LOG_ATTRIBUTE_NOT_FOUND
-
Method Summary
Modifier and TypeMethodDescriptionMethod to extract a map of possible paths and its elements of a block sequence e.g.When the controlflow-node is located in a block-oriented controlflow the matching controlflow-node of the controlflow-block is returned.int
Returns the number of branches.int
Returns the number of branches ignoring direct controlflow edges between start and end controlflow nodes.boolean
boolean
boolean
boolean
Checks if the controlflow node is an end node (AND-join, XOR-join, LOOP-split).boolean
boolean
boolean
boolean
boolean
isOrNode()
boolean
boolean
Checks if the controlflow node is a start node (AND-split, XOR-split, LOOP-join).boolean
boolean
boolean
void
setMatchingBlockControlflowNode
(NESTControlflowNodeObject matchingBlockControlflowNode) Set a controlflow node as the matching block node.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.object.nest.NESTSequenceNodeObject
getAllDataNodes, getAllDataNodes, getAllNextNodes, getAllNextNodes, getAllNextNodesOrdered, getAllNextNodesOrdered, getAllNextNodesTo, getAllNextNodesToOrdered, getAllNextTaskNodes, getAllNextTaskNodesOrdered, getAllPreviousNodes, getAllPreviousNodesOrdered, getAllPrevTaskNodes, getAllPrevTaskNodesOrdered, getInputDataNodes, getInputDataNodes, getNextNode, getNextNodes, getNextNodes, getNextNodesOrdered, getNextNodesOrdered, getNextTaskNodes, getNextTaskNodesOrdered, getOutputDataNodes, getOutputDataNodes, getPathsTo, getPathsToEnd, getPreviousNode, getPreviousNodes, getPreviousNodesOrdered, getPrevTaskNodes, getPrevTaskNodesOrdered, isPredecessorOf, isSuccessorOf
Methods inherited from interface de.uni_trier.wi2.procake.data.PropertyHandler
addProperty, addProperty, getAllProperties, getAllPropertyNodes, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasProperties, removeProperty, setPropertyRootNode
-
Method Details
-
isStartControlflowNode
boolean isStartControlflowNode()Checks if the controlflow node is a start node (AND-split, XOR-split, LOOP-join).- Returns:
- true if the node is a start node, false otherwise
-
isEndControlflowNode
boolean isEndControlflowNode()Checks if the controlflow node is an end node (AND-join, XOR-join, LOOP-split).- Returns:
- true if the node is an end node, false otherwise
-
getMatchingBlockControlflowNode
NESTControlflowNodeObject getMatchingBlockControlflowNode()When the controlflow-node is located in a block-oriented controlflow the matching controlflow-node of the controlflow-block is returned.- Returns:
- matching controlflow-node in a block-oriented controlflow,
null
otherwise
-
setMatchingBlockControlflowNode
Set a controlflow node as the matching block node.- Parameters:
matchingBlockControlflowNode
- Controlflow node, that should be the matching partner of the current node.
-
getNumberOfNonEmptyBranches
int getNumberOfNonEmptyBranches()Returns the number of branches ignoring direct controlflow edges between start and end controlflow nodes.- Returns:
- number of non-empty branches
-
getNumberOfBranches
int getNumberOfBranches()Returns the number of branches.- Returns:
- number of branches
-
isLoopNode
boolean isLoopNode()- Returns:
-
isAndNode
boolean isAndNode()- Returns:
-
isXorNode
boolean isXorNode()- Returns:
-
isOrNode
boolean isOrNode()- Returns:
-
isAndEndNode
boolean isAndEndNode() -
isAndStartNode
boolean isAndStartNode() -
isLoopStartNode
boolean isLoopStartNode() -
isLoopEndNode
boolean isLoopEndNode() -
isOrEndNode
boolean isOrEndNode() -
isOrStartNode
boolean isOrStartNode() -
isXorEndNode
boolean isXorEndNode() -
isXorStartNode
boolean isXorStartNode() -
getBlockSequencePaths
Map<NESTSequenceNodeObject,Set<NESTSequenceNodeObject>> getBlockSequencePaths()Method to extract a map of possible paths and its elements of a block sequence e.g. a parallel branch contains two (or more) paths -
getInnerBlockElements
Set<NESTSequenceNodeObject> getInnerBlockElements()
-