Class NESTWorkflowObjectImpl
java.lang.Object
de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTAbstractWorkflowObjectImpl
de.uni_trier.wi2.procake.data.object.nest.impl.NESTWorkflowObjectImpl
- All Implemented Interfaces:
DataObject
,NESTAbstractWorkflowObject
,NESTGraphObject
,NESTWorkflowObject
,PropertyHandler
,Iterable<NESTSequenceNodeObject>
public class NESTWorkflowObjectImpl
extends NESTAbstractWorkflowObjectImpl
implements NESTWorkflowObject
Definition of a graph-object. Refer to the corresponding Interface
NESTWorkflowObject
for
more information.- Author:
- Alexander Stromer
-
Field Summary
Fields inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphObjectImpl
eventListener, graphNodes, idManager
Fields inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
objectId
-
Constructor Summary
ConstructorDescriptionNESTWorkflowObjectImpl
(NESTWorkflowClass cakeclazz) Standard constructor of CAKE -
Method Summary
Modifier and TypeMethodDescriptionvoid
addGraphNode
(NESTNodeObject newGraphNode) Adds the given graph-node to the internal list of registered graphnodes.copy()
Makes a deep copy of the data objectprotected NESTNodeObject
copyNodeDeep
(NESTNodeObject node, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow) void
Registers a listener internally, and transforms the current state of the graph into the corresponding workflow-block-representation.Returns complete set of and join nodes registered in the graph.Returns complete set of and split nodes registered in the graph.Returns the current Cake2Workflow-object-representation for the graph.Returns complete set of controlflow nodes registered in the graph.Returns complete set of end controlflow nodes registered in the graph.Returns the list of listeners currently registered.Returns the extractor.Returns complete set of loop split nodes registered in the graph.Returns complete set of loop join nodes registered in the graph.Returns the modifier.Returns complete set of or join nodes registered in the graph.Returns complete set of or split nodes registered in the graph.Returns complete set of start controlflow nodes registered in the graph.Returns the default visualizer for this graph.getVisualizer
(Class clazz) Returns the given visualizer.Returns complete set of xor join nodes registered in the graph.Returns complete set of xor split nodes registered in the graph.void
registerEventListener
(NESTGraphListener consumer) Registers the given listener.void
unregisterEventListener
(NESTGraphListener consumer) Unregisters the given listener.Methods inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTAbstractWorkflowObjectImpl
copyEdgeDeep, getControlflowEdges, getDataflowEdges, getDataNodes, getDataNodes, getEndNodes, getEndTaskNodes, getEndTaskNodes, getEqualSyntacticGraphNode, getInputDataNodes, getInputDataNodes, getOutputDataNodes, getOutputDataNodes, getSequenceNodes, getStartNodes, getStartTaskNodes, getStartTaskNodes, getSubWorkflowNodes, getTaskNodes, getTaskNodes, getWorkflowNode, hasSubWorkflowNodes, iterator
Methods inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphObjectImpl
assertSameValueAsIn, checkAllowedGraphClasses, containsValueFrom, containsValueFromWithExceptions, getEqualIdGraphNode, getGraphEdge, getGraphEdges, getGraphNode, getGraphNodes, getGraphNodes, getIDManager, getNumberOfEdges, getNumberOfNodes, getSemanticallyEqualNode, getSemanticallyEqualNode, hasSameValueAsIn, publishAddNode, publishRemoveNode, removeGraphNode, toString, updateDependencies, updateGraphNodeId
Methods inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
addProperty, addProperty, 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, setId, setPropertyRootNode, toDetailedString, toXML
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.uni_trier.wi2.procake.data.object.DataObject
assertSameValueAsIn, 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 java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject
getControlflowEdges, getDataflowEdges, getDataNodes, getDataNodes, getEndNodes, getEndTaskNodes, getEndTaskNodes, getEqualSyntacticGraphNode, getInputDataNodes, getInputDataNodes, getOutputDataNodes, getOutputDataNodes, getSequenceNodes, getStartNodes, getStartTaskNodes, getStartTaskNodes, getSubWorkflowNodes, getTaskNodes, getTaskNodes, getWorkflowNode, hasSubWorkflowNodes
Methods inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphObject
containsValueFrom, containsValueFromWithExceptions, getEqualIdGraphNode, getGraphEdge, getGraphEdges, getGraphNode, getGraphNodes, getGraphNodes, getIDManager, getNumberOfEdges, getNumberOfNodes, getSemanticallyEqualNode, getSemanticallyEqualNode, removeGraphNode, updateGraphNodeId
Methods inherited from interface de.uni_trier.wi2.procake.data.PropertyHandler
addProperty, addProperty, getAllProperties, getAllPropertyNodes, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasProperties, removeProperty, setPropertyRootNode
-
Constructor Details
-
NESTWorkflowObjectImpl
Standard constructor of CAKE- Parameters:
cakeclazz
-
-
-
Method Details
-
addGraphNode
Description copied from interface:NESTGraphObject
Adds the given graph-node to the internal list of registered graphnodes. Nodes are being bound automatically if they are connected to already bound edges. → Create the graph based on the startnode, so that all nodes/edges get automatically bound.- Specified by:
addGraphNode
in interfaceNESTGraphObject
- Overrides:
addGraphNode
in classNESTGraphObjectImpl
- Parameters:
newGraphNode
- The graphnode, which should be registered.
-
registerEventListener
Description copied from interface:NESTWorkflowObject
Registers the given listener. All changes to the graph are then also published to the list of listeners.- Specified by:
registerEventListener
in interfaceNESTWorkflowObject
- Parameters:
consumer
- the instantiated listener, which should be registered- Throws:
Exception
-
unregisterEventListener
Description copied from interface:NESTWorkflowObject
Unregisters the given listener.- Specified by:
unregisterEventListener
in interfaceNESTWorkflowObject
-
getEventListeners
Description copied from interface:NESTWorkflowObject
Returns the list of listeners currently registered.- Specified by:
getEventListeners
in interfaceNESTWorkflowObject
- Returns:
-
enableBlockRepresentation
Description copied from interface:NESTWorkflowObject
Registers a listener internally, and transforms the current state of the graph into the corresponding workflow-block-representation. Be aware that at this time, the current state of the graph when calling this method, will be transformed. No listening to further events will be caught, because of consistency-limitations for graph → block transformation. If you need to update the block-representation, just call this method again.- Specified by:
enableBlockRepresentation
in interfaceNESTWorkflowObject
- Throws:
Exception
-
getBlockRepresentation
Description copied from interface:NESTWorkflowObject
Returns the current Cake2Workflow-object-representation for the graph.- Specified by:
getBlockRepresentation
in interfaceNESTWorkflowObject
- Returns:
-
getControlflowNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of controlflow nodes registered in the graph.- Specified by:
getControlflowNodes
in interfaceNESTWorkflowObject
- Returns:
- list of controlflow nodes
-
getStartControlflowNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of start controlflow nodes registered in the graph. (These nodes are either loop joins or and/xor splits.)- Specified by:
getStartControlflowNodes
in interfaceNESTWorkflowObject
- Returns:
- list of controlflow nodes
-
getEndControlflowNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of end controlflow nodes registered in the graph. (These nodes are either loop joins or and/xor splits.)- Specified by:
getEndControlflowNodes
in interfaceNESTWorkflowObject
- Returns:
- list of controlflow nodes
-
getOrStartNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of or split nodes registered in the graph.- Specified by:
getOrStartNodes
in interfaceNESTWorkflowObject
- Returns:
- list of or start nodes
-
getOrEndNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of or join nodes registered in the graph.- Specified by:
getOrEndNodes
in interfaceNESTWorkflowObject
- Returns:
- list of or end nodes
-
getXorStartNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of xor split nodes registered in the graph.- Specified by:
getXorStartNodes
in interfaceNESTWorkflowObject
- Returns:
- list of xor start nodes
-
getXorEndNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of xor join nodes registered in the graph.- Specified by:
getXorEndNodes
in interfaceNESTWorkflowObject
- Returns:
- list of xor end nodes
-
getAndStartNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of and split nodes registered in the graph.- Specified by:
getAndStartNodes
in interfaceNESTWorkflowObject
- Returns:
- list of and start nodes
-
getAndEndNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of and join nodes registered in the graph.- Specified by:
getAndEndNodes
in interfaceNESTWorkflowObject
- Returns:
- list of and end nodes
-
getLoopStartNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of loop join nodes registered in the graph.- Specified by:
getLoopStartNodes
in interfaceNESTWorkflowObject
- Returns:
- list of loop start nodes
-
getLoopEndNodes
Description copied from interface:NESTWorkflowObject
Returns complete set of loop split nodes registered in the graph.- Specified by:
getLoopEndNodes
in interfaceNESTWorkflowObject
- Returns:
- list of loop end nodes
-
getModifier
Description copied from interface:NESTGraphObject
Returns the modifier.- Specified by:
getModifier
in interfaceNESTAbstractWorkflowObject
- Specified by:
getModifier
in interfaceNESTGraphObject
- Specified by:
getModifier
in interfaceNESTWorkflowObject
- Overrides:
getModifier
in classNESTAbstractWorkflowObjectImpl
- Returns:
-
getExtractor
Description copied from interface:NESTWorkflowObject
Returns the extractor.- Specified by:
getExtractor
in interfaceNESTWorkflowObject
- Returns:
-
getVisualizer
Description copied from interface:NESTGraphObject
Returns the default visualizer for this graph.- Specified by:
getVisualizer
in interfaceNESTGraphObject
- Specified by:
getVisualizer
in interfaceNESTWorkflowObject
- Overrides:
getVisualizer
in classNESTGraphObjectImpl
- Returns:
-
getVisualizer
Description copied from interface:NESTWorkflowObject
Returns the given visualizer. A visualizer can be a normal printer or a GUI implementation.- Specified by:
getVisualizer
in interfaceNESTGraphObject
- Specified by:
getVisualizer
in interfaceNESTWorkflowObject
- Overrides:
getVisualizer
in classNESTGraphObjectImpl
- Parameters:
clazz
- class of the desired visualizer
-
copy
Description copied from interface:DataObject
Makes a deep copy of the data object- Specified by:
copy
in interfaceDataObject
- Overrides:
copy
in classNESTGraphObjectImpl
- Returns:
- deep copy of the data object
-
copyNodeDeep
protected NESTNodeObject copyNodeDeep(NESTNodeObject node, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow) - Specified by:
copyNodeDeep
in classNESTAbstractWorkflowObjectImpl
-