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 InterfaceNESTControlflowNodeObjectfor more information.- Author:
- Alexander Stromer
-
-
Field Summary
Fields Modifier and Type Field Description protected NESTControlflowNodeObjectmatchingBlockControlflowNodeThe 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
-
-
Constructor Summary
Constructors Constructor Description NESTControlflowNodeObjectImpl(NESTControlflowNodeClass cakeclazz)Standard constructor of CAKE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<NESTSequenceNodeObject,Set<NESTSequenceNodeObject>>getBlockSequencePaths()Method to extract a map of possible paths and its elements of a block sequence e.g.Set<NESTSequenceNodeObject>getInnerBlockElements()NESTControlflowNodeObjectgetMatchingBlockControlflowNode()When the controlflow-node is located in a block-oriented controlflow the matching controlflow-node of the controlflow-block is returned.intgetNumberOfBranches()Returns the number of branches.intgetNumberOfNonEmptyBranches()Returns the number of branches ignoring direct controlflow edges between start and end controlflow nodes.booleanisAndEndNode()booleanisAndNode()booleanisAndStartNode()booleanisEndControlflowNode()Checks if the controlflow node is an end node (AND-join, XOR-join, LOOP-split).booleanisLoopEndNode()booleanisLoopNode()booleanisLoopStartNode()booleanisOrEndNode()booleanisOrNode()booleanisOrStartNode()booleanisStartControlflowNode()Checks if the controlflow node is a start node (AND-split, XOR-split, LOOP-join).booleanisXorEndNode()booleanisXorNode()booleanisXorStartNode()voidsetMatchingBlockControlflowNode(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, 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
-
-
-
-
Field Detail
-
matchingBlockControlflowNode
protected NESTControlflowNodeObject matchingBlockControlflowNode
The matching block controlflow node, that is either the corresponding start or end node to the current node.
-
-
Constructor Detail
-
NESTControlflowNodeObjectImpl
public NESTControlflowNodeObjectImpl(NESTControlflowNodeClass cakeclazz)
Standard constructor of CAKE- Parameters:
cakeclazz-
-
-
Method Detail
-
isStartControlflowNode
public boolean isStartControlflowNode()
Description copied from interface:NESTControlflowNodeObjectChecks if the controlflow node is a start node (AND-split, XOR-split, LOOP-join).- Specified by:
isStartControlflowNodein interfaceNESTControlflowNodeObject- Returns:
- true if the node is a start node, false otherwise
-
isEndControlflowNode
public boolean isEndControlflowNode()
Description copied from interface:NESTControlflowNodeObjectChecks if the controlflow node is an end node (AND-join, XOR-join, LOOP-split).- Specified by:
isEndControlflowNodein interfaceNESTControlflowNodeObject- Returns:
- true if the node is an end node, false otherwise
-
getMatchingBlockControlflowNode
public NESTControlflowNodeObject getMatchingBlockControlflowNode()
Description copied from interface:NESTControlflowNodeObjectWhen the controlflow-node is located in a block-oriented controlflow the matching controlflow-node of the controlflow-block is returned.- Specified by:
getMatchingBlockControlflowNodein interfaceNESTControlflowNodeObject- Returns:
- matching controlflow-node in a block-oriented controlflow,
nullotherwise
-
setMatchingBlockControlflowNode
public void setMatchingBlockControlflowNode(NESTControlflowNodeObject matchingBlockControlflowNode)
Description copied from interface:NESTControlflowNodeObjectSet a controlflow node as the matching block node.- Specified by:
setMatchingBlockControlflowNodein interfaceNESTControlflowNodeObject- Parameters:
matchingBlockControlflowNode- Controlflow node, that should be the matching partner of the current node.
-
getNumberOfNonEmptyBranches
public int getNumberOfNonEmptyBranches()
Description copied from interface:NESTControlflowNodeObjectReturns the number of branches ignoring direct controlflow edges between start and end controlflow nodes.- Specified by:
getNumberOfNonEmptyBranchesin interfaceNESTControlflowNodeObject- Returns:
- number of non-empty branches
-
getNumberOfBranches
public int getNumberOfBranches()
Description copied from interface:NESTControlflowNodeObjectReturns the number of branches.- Specified by:
getNumberOfBranchesin interfaceNESTControlflowNodeObject- Returns:
- number of branches
-
getBlockSequencePaths
public Map<NESTSequenceNodeObject,Set<NESTSequenceNodeObject>> getBlockSequencePaths()
Description copied from interface:NESTControlflowNodeObjectMethod 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:
getBlockSequencePathsin interfaceNESTControlflowNodeObject
-
getInnerBlockElements
public Set<NESTSequenceNodeObject> getInnerBlockElements()
- Specified by:
getInnerBlockElementsin interfaceNESTControlflowNodeObject
-
isLoopNode
public boolean isLoopNode()
- Specified by:
isLoopNodein interfaceNESTControlflowNodeObject- Returns:
-
isAndNode
public boolean isAndNode()
- Specified by:
isAndNodein interfaceNESTControlflowNodeObject- Returns:
-
isXorNode
public boolean isXorNode()
- Specified by:
isXorNodein interfaceNESTControlflowNodeObject- Returns:
-
isOrNode
public boolean isOrNode()
- Specified by:
isOrNodein interfaceNESTControlflowNodeObject- Returns:
-
isAndEndNode
public boolean isAndEndNode()
- Specified by:
isAndEndNodein interfaceNESTControlflowNodeObject
-
isAndStartNode
public boolean isAndStartNode()
- Specified by:
isAndStartNodein interfaceNESTControlflowNodeObject
-
isLoopStartNode
public boolean isLoopStartNode()
- Specified by:
isLoopStartNodein interfaceNESTControlflowNodeObject
-
isLoopEndNode
public boolean isLoopEndNode()
- Specified by:
isLoopEndNodein interfaceNESTControlflowNodeObject
-
isOrEndNode
public boolean isOrEndNode()
- Specified by:
isOrEndNodein interfaceNESTControlflowNodeObject
-
isOrStartNode
public boolean isOrStartNode()
- Specified by:
isOrStartNodein interfaceNESTControlflowNodeObject
-
isXorEndNode
public boolean isXorEndNode()
- Specified by:
isXorEndNodein interfaceNESTControlflowNodeObject
-
isXorStartNode
public boolean isXorStartNode()
- Specified by:
isXorStartNodein interfaceNESTControlflowNodeObject
-
-