Class NESTControlflowNodeObjectImpl
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
de.uni_trier.wi2.procake.data.object.nest.controlflowNode.impl.NESTControlflowNodeObjectImpl
- All Implemented Interfaces:
DataObject
,NESTControlflowNodeObject
,NESTGraphItemObject
,NESTNodeObject
,NESTSequenceNodeObject
,PropertyHandler
,Comparable<NESTGraphItemObject>
- Direct Known Subclasses:
NESTAndEndNodeObjectImpl
,NESTAndStartNodeObjectImpl
,NESTLoopEndNodeObjectImpl
,NESTLoopStartNodeObjectImpl
,NESTOrEndNodeObjectImpl
,NESTOrStartNodeObjectImpl
,NESTXorEndNodeObjectImpl
,NESTXorStartNodeObjectImpl
public class NESTControlflowNodeObjectImpl
extends NESTSequenceNodeObjectImpl
implements NESTControlflowNodeObject
Definition of a Controlflow-Node of a NEST-graph. Refer to the corresponding Interface
NESTControlflowNodeObject
for more information.- Author:
- Alexander Stromer
-
Field Summary
Modifier and TypeFieldDescriptionprotected NESTControlflowNodeObject
The matching block controlflow node, that is either the corresponding start or end node to the current node.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
ConstructorDescriptionStandard constructor of CAKE -
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 class de.uni_trier.wi2.procake.data.object.nest.impl.NESTSequenceNodeObjectImpl
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 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.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
-
Field Details
-
matchingBlockControlflowNode
The matching block controlflow node, that is either the corresponding start or end node to the current node.
-
-
Constructor Details
-
NESTControlflowNodeObjectImpl
Standard constructor of CAKE- Parameters:
cakeclazz
-
-
-
Method Details
-
isStartControlflowNode
public boolean isStartControlflowNode()Description copied from interface:NESTControlflowNodeObject
Checks if the controlflow node is a start node (AND-split, XOR-split, LOOP-join).- Specified by:
isStartControlflowNode
in interfaceNESTControlflowNodeObject
- Returns:
- true if the node is a start node, false otherwise
-
isEndControlflowNode
public boolean isEndControlflowNode()Description copied from interface:NESTControlflowNodeObject
Checks if the controlflow node is an end node (AND-join, XOR-join, LOOP-split).- Specified by:
isEndControlflowNode
in interfaceNESTControlflowNodeObject
- Returns:
- true if the node is an end node, false otherwise
-
getMatchingBlockControlflowNode
Description copied from interface:NESTControlflowNodeObject
When the controlflow-node is located in a block-oriented controlflow the matching controlflow-node of the controlflow-block is returned.- Specified by:
getMatchingBlockControlflowNode
in interfaceNESTControlflowNodeObject
- Returns:
- matching controlflow-node in a block-oriented controlflow,
null
otherwise
-
setMatchingBlockControlflowNode
Description copied from interface:NESTControlflowNodeObject
Set a controlflow node as the matching block node.- Specified by:
setMatchingBlockControlflowNode
in interfaceNESTControlflowNodeObject
- Parameters:
matchingBlockControlflowNode
- Controlflow node, that should be the matching partner of the current node.
-
getNumberOfNonEmptyBranches
public int getNumberOfNonEmptyBranches()Description copied from interface:NESTControlflowNodeObject
Returns the number of branches ignoring direct controlflow edges between start and end controlflow nodes.- Specified by:
getNumberOfNonEmptyBranches
in interfaceNESTControlflowNodeObject
- Returns:
- number of non-empty branches
-
getNumberOfBranches
public int getNumberOfBranches()Description copied from interface:NESTControlflowNodeObject
Returns the number of branches.- Specified by:
getNumberOfBranches
in interfaceNESTControlflowNodeObject
- Returns:
- number of branches
-
getBlockSequencePaths
Description copied from interface:NESTControlflowNodeObject
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- Specified by:
getBlockSequencePaths
in interfaceNESTControlflowNodeObject
-
getInnerBlockElements
- Specified by:
getInnerBlockElements
in interfaceNESTControlflowNodeObject
-
isLoopNode
public boolean isLoopNode()- Specified by:
isLoopNode
in interfaceNESTControlflowNodeObject
- Returns:
-
isAndNode
public boolean isAndNode()- Specified by:
isAndNode
in interfaceNESTControlflowNodeObject
- Returns:
-
isXorNode
public boolean isXorNode()- Specified by:
isXorNode
in interfaceNESTControlflowNodeObject
- Returns:
-
isOrNode
public boolean isOrNode()- Specified by:
isOrNode
in interfaceNESTControlflowNodeObject
- Returns:
-
isAndEndNode
public boolean isAndEndNode()- Specified by:
isAndEndNode
in interfaceNESTControlflowNodeObject
-
isAndStartNode
public boolean isAndStartNode()- Specified by:
isAndStartNode
in interfaceNESTControlflowNodeObject
-
isLoopStartNode
public boolean isLoopStartNode()- Specified by:
isLoopStartNode
in interfaceNESTControlflowNodeObject
-
isLoopEndNode
public boolean isLoopEndNode()- Specified by:
isLoopEndNode
in interfaceNESTControlflowNodeObject
-
isOrEndNode
public boolean isOrEndNode()- Specified by:
isOrEndNode
in interfaceNESTControlflowNodeObject
-
isOrStartNode
public boolean isOrStartNode()- Specified by:
isOrStartNode
in interfaceNESTControlflowNodeObject
-
isXorEndNode
public boolean isXorEndNode()- Specified by:
isXorEndNode
in interfaceNESTControlflowNodeObject
-
isXorStartNode
public boolean isXorStartNode()- Specified by:
isXorStartNode
in interfaceNESTControlflowNodeObject
-