Class NESTAbstractWorkflowObjectImpl
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
- All Implemented Interfaces:
DataObject
,NESTAbstractWorkflowObject
,NESTGraphObject
,PropertyHandler
,Iterable<NESTSequenceNodeObject>
- Direct Known Subclasses:
NESTSequentialWorkflowObjectImpl
,NESTWorkflowObjectImpl
public abstract class NESTAbstractWorkflowObjectImpl
extends NESTGraphObjectImpl
implements NESTAbstractWorkflowObject
-
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected NESTEdgeObject
copyEdgeDeep
(NESTEdgeObject edge, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow) protected abstract NESTNodeObject
copyNodeDeep
(NESTNodeObject node, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow) Returns all controlflow edges in the graph.Returns the complete list of controlflowedges contained in the graphReturns the complete set of data nodes registered in the graph.getDataNodes
(Predicate<? super NESTDataNodeObject> filter) Returns the complete set of data nodes registered in the graph.Returns the list of endNodes (nodes with no outgoing NESTControlflowEdge) for this graph.Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)getEndTaskNodes
(Predicate<? super NESTTaskNodeObject> filter) Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)<T extends NESTNodeObject>
TgetEqualSyntacticGraphNode
(T node) Returns a graph node that has the same type (e.g.Returns these data objects that are inputs of the entire workflow (no intermediate objects)getInputDataNodes
(Predicate<? super NESTDataNodeObject> filter) Returns these data objects that are inputs of the entire workflow (no intermediate objects)Returns the modifier.Returns these data objects that are outputs of the entire workflow (no intermediate objects)getOutputDataNodes
(Predicate<? super NESTDataNodeObject> filter) Returns these data objects that are outputs of the entire workflow (no intermediate objects)Returns the complete set of sequence nodes registered in the graph.Returns the list of startNodes (nodes with no incoming NESTControlflowEdge) for this graph.Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)getStartTaskNodes
(Predicate<? super NESTTaskNodeObject> filter) Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)Returns the complete list of subWorkflowNodes registered in the graph.Returns the complete set of task nodes registered in the graph.getTaskNodes
(Predicate<? super NESTTaskNodeObject> filter) Returns the complete set of task nodes registered in the graph.Returns the WorkflowNode, if there is anyboolean
Returns whether the graph contains subWorkflowNodes.iterator()
Methods inherited from class de.uni_trier.wi2.procake.data.object.nest.impl.NESTGraphObjectImpl
addGraphNode, assertSameValueAsIn, checkAllowedGraphClasses, containsValueFrom, containsValueFromWithExceptions, copy, getEqualIdGraphNode, getGraphEdge, getGraphEdges, getGraphNode, getGraphNodes, getGraphNodes, getIDManager, getNumberOfEdges, getNumberOfNodes, getSemanticallyEqualNode, getSemanticallyEqualNode, getVisualizer, getVisualizer, 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, 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 java.lang.Iterable
forEach, spliterator
Methods inherited from interface de.uni_trier.wi2.procake.data.object.nest.NESTGraphObject
addGraphNode, containsValueFrom, containsValueFromWithExceptions, getEqualIdGraphNode, getGraphEdge, getGraphEdges, getGraphNode, getGraphNodes, getGraphNodes, getIDManager, getNumberOfEdges, getNumberOfNodes, getSemanticallyEqualNode, getSemanticallyEqualNode, getVisualizer, getVisualizer, 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
-
NESTAbstractWorkflowObjectImpl
-
-
Method Details
-
getModifier
Description copied from interface:NESTGraphObject
Returns the modifier.- Specified by:
getModifier
in interfaceNESTAbstractWorkflowObject
- Specified by:
getModifier
in interfaceNESTGraphObject
- Overrides:
getModifier
in classNESTGraphObjectImpl
- Returns:
-
getEqualSyntacticGraphNode
Description copied from interface:NESTAbstractWorkflowObject
Returns a graph node that has the same type (e.g. Data-Node, Task-Node etc.) and an equal semantic descriptor. When iterating through all nodes in the graph the first occurence of a matching node will be returned.- Specified by:
getEqualSyntacticGraphNode
in interfaceNESTAbstractWorkflowObject
- Parameters:
node
- the node that is compared to the other nodes of the graph- Returns:
- graph node with the same type and an equal semantic descriptor. If it doesn't exist
null
-
getDataflowEdges
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete list of controlflowedges contained in the graph- Specified by:
getDataflowEdges
in interfaceNESTAbstractWorkflowObject
- Returns:
- List of graphedges in the graph.
-
getControlflowEdges
Description copied from interface:NESTAbstractWorkflowObject
Returns all controlflow edges in the graph.- Specified by:
getControlflowEdges
in interfaceNESTAbstractWorkflowObject
- Returns:
- a set of controlflow edges
-
hasSubWorkflowNodes
public boolean hasSubWorkflowNodes()Description copied from interface:NESTAbstractWorkflowObject
Returns whether the graph contains subWorkflowNodes.- Specified by:
hasSubWorkflowNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
-
getSequenceNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete set of sequence nodes registered in the graph.- Specified by:
getSequenceNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- Set of sequence nodes in the graph.
-
getStartTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)- Specified by:
getStartTaskNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- list of task nodes
-
getEndTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)- Specified by:
getEndTaskNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- list of task nodes
-
getEndTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)- Specified by:
getEndTaskNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- list of task nodes
-
getWorkflowNode
Description copied from interface:NESTAbstractWorkflowObject
Returns the WorkflowNode, if there is any- Specified by:
getWorkflowNode
in interfaceNESTAbstractWorkflowObject
- Returns:
-
getSubWorkflowNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete list of subWorkflowNodes registered in the graph.- Specified by:
getSubWorkflowNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- List of subWorkflowNodes in the graph.
-
iterator
- Specified by:
iterator
in interfaceIterable<NESTSequenceNodeObject>
-
getStartNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the list of startNodes (nodes with no incoming NESTControlflowEdge) for this graph.- Specified by:
getStartNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
-
getEndNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the list of endNodes (nodes with no outgoing NESTControlflowEdge) for this graph.- Specified by:
getEndNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
-
getTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete set of task nodes registered in the graph.- Specified by:
getTaskNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- Set of task nodes in the graph.
-
getTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete set of task nodes registered in the graph.- Specified by:
getTaskNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- Set of task nodes in the graph.
-
getDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete set of data nodes registered in the graph.- Specified by:
getDataNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- Set of data nodes in the graph.
-
getDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns the complete set of data nodes registered in the graph.- Specified by:
getDataNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- Set of data nodes in the graph.
-
getOutputDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns these data objects that are outputs of the entire workflow (no intermediate objects)- Specified by:
getOutputDataNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- list of data node objects
-
getOutputDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns these data objects that are outputs of the entire workflow (no intermediate objects)- Specified by:
getOutputDataNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- list of data node objects
-
getInputDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns these data objects that are inputs of the entire workflow (no intermediate objects)- Specified by:
getInputDataNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- list of data node objects
-
getInputDataNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns these data objects that are inputs of the entire workflow (no intermediate objects)- Specified by:
getInputDataNodes
in interfaceNESTAbstractWorkflowObject
- Parameters:
filter
- filter to apply- Returns:
- list of data node objects
-
getStartTaskNodes
Description copied from interface:NESTAbstractWorkflowObject
Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)- Specified by:
getStartTaskNodes
in interfaceNESTAbstractWorkflowObject
- Returns:
- list of task nodes
-
copyEdgeDeep
protected NESTEdgeObject copyEdgeDeep(NESTEdgeObject edge, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow) -
copyNodeDeep
protected abstract NESTNodeObject copyNodeDeep(NESTNodeObject node, Map<NESTNodeObject, NESTNodeObject> copiedNodes, Map<NESTEdgeObject, NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow)
-