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
Constructors Constructor Description NESTAbstractWorkflowObjectImpl(NESTGraphClass dataClass)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected NESTEdgeObjectcopyEdgeDeep(NESTEdgeObject edge, Map<NESTNodeObject,NESTNodeObject> copiedNodes, Map<NESTEdgeObject,NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow)protected abstract NESTNodeObjectcopyNodeDeep(NESTNodeObject node, Map<NESTNodeObject,NESTNodeObject> copiedNodes, Map<NESTEdgeObject,NESTEdgeObject> copiedEdges, NESTAbstractWorkflowObject nestWorkflow)Set<NESTControlflowEdgeObject>getControlflowEdges()Returns all controlflow edges in the graph.Set<NESTDataflowEdgeObject>getDataflowEdges()Returns the complete list of controlflowedges contained in the graphSet<NESTDataNodeObject>getDataNodes()Returns the complete set of data nodes registered in the graph.Set<NESTDataNodeObject>getDataNodes(Predicate<? super NESTDataNodeObject> filter)Returns the complete set of data nodes registered in the graph.Set<NESTSequenceNodeObject>getEndNodes()Returns the list of endNodes (nodes with no outgoing NESTControlflowEdge) for this graph.Set<NESTTaskNodeObject>getEndTaskNodes()Returns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)Set<NESTTaskNodeObject>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.Set<NESTDataNodeObject>getInputDataNodes()Returns these data objects that are inputs of the entire workflow (no intermediate objects)Set<NESTDataNodeObject>getInputDataNodes(Predicate<? super NESTDataNodeObject> filter)Returns these data objects that are inputs of the entire workflow (no intermediate objects)NESTAbstractWorkflowModifiergetModifier()Returns the modifier.Set<NESTDataNodeObject>getOutputDataNodes()Returns these data objects that are outputs of the entire workflow (no intermediate objects)Set<NESTDataNodeObject>getOutputDataNodes(Predicate<? super NESTDataNodeObject> filter)Returns these data objects that are outputs of the entire workflow (no intermediate objects)Set<NESTSequenceNodeObject>getSequenceNodes()Returns the complete set of sequence nodes registered in the graph.Set<NESTSequenceNodeObject>getStartNodes()Returns the list of startNodes (nodes with no incoming NESTControlflowEdge) for this graph.Set<NESTTaskNodeObject>getStartTaskNodes()Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)Set<NESTTaskNodeObject>getStartTaskNodes(Predicate<? super NESTTaskNodeObject> filter)Returns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)Set<NESTSubWorkflowNodeObject>getSubWorkflowNodes()Returns the complete list of subWorkflowNodes registered in the graph.Set<NESTTaskNodeObject>getTaskNodes()Returns the complete set of task nodes registered in the graph.Set<NESTTaskNodeObject>getTaskNodes(Predicate<? super NESTTaskNodeObject> filter)Returns the complete set of task nodes registered in the graph.NESTWorkflowNodeObjectgetWorkflowNode()Returns the WorkflowNode, if there is anybooleanhasSubWorkflowNodes()Returns whether the graph contains subWorkflowNodes.Iterator<NESTSequenceNodeObject>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, 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
-
-
-
-
Constructor Detail
-
NESTAbstractWorkflowObjectImpl
public NESTAbstractWorkflowObjectImpl(NESTGraphClass dataClass)
-
-
Method Detail
-
getModifier
public NESTAbstractWorkflowModifier getModifier()
Description copied from interface:NESTGraphObjectReturns the modifier.- Specified by:
getModifierin interfaceNESTAbstractWorkflowObject- Specified by:
getModifierin interfaceNESTGraphObject- Overrides:
getModifierin classNESTGraphObjectImpl- Returns:
-
getEqualSyntacticGraphNode
public <T extends NESTNodeObject> T getEqualSyntacticGraphNode(T node)
Description copied from interface:NESTAbstractWorkflowObjectReturns 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:
getEqualSyntacticGraphNodein 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
public Set<NESTDataflowEdgeObject> getDataflowEdges()
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete list of controlflowedges contained in the graph- Specified by:
getDataflowEdgesin interfaceNESTAbstractWorkflowObject- Returns:
- List of graphedges in the graph.
-
getControlflowEdges
public Set<NESTControlflowEdgeObject> getControlflowEdges()
Description copied from interface:NESTAbstractWorkflowObjectReturns all controlflow edges in the graph.- Specified by:
getControlflowEdgesin interfaceNESTAbstractWorkflowObject- Returns:
- a set of controlflow edges
-
hasSubWorkflowNodes
public boolean hasSubWorkflowNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns whether the graph contains subWorkflowNodes.- Specified by:
hasSubWorkflowNodesin interfaceNESTAbstractWorkflowObject- Returns:
-
getSequenceNodes
public Set<NESTSequenceNodeObject> getSequenceNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete set of sequence nodes registered in the graph.- Specified by:
getSequenceNodesin interfaceNESTAbstractWorkflowObject- Returns:
- Set of sequence nodes in the graph.
-
getStartTaskNodes
public Set<NESTTaskNodeObject> getStartTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)- Specified by:
getStartTaskNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- list of task nodes
-
getEndTaskNodes
public Set<NESTTaskNodeObject> getEndTaskNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)- Specified by:
getEndTaskNodesin interfaceNESTAbstractWorkflowObject- Returns:
- list of task nodes
-
getEndTaskNodes
public Set<NESTTaskNodeObject> getEndTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns all the task nodes that are not connected via controlflow-edge to successor tasks (end task nodes)- Specified by:
getEndTaskNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- list of task nodes
-
getWorkflowNode
public NESTWorkflowNodeObject getWorkflowNode()
Description copied from interface:NESTAbstractWorkflowObjectReturns the WorkflowNode, if there is any- Specified by:
getWorkflowNodein interfaceNESTAbstractWorkflowObject- Returns:
-
getSubWorkflowNodes
public Set<NESTSubWorkflowNodeObject> getSubWorkflowNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete list of subWorkflowNodes registered in the graph.- Specified by:
getSubWorkflowNodesin interfaceNESTAbstractWorkflowObject- Returns:
- List of subWorkflowNodes in the graph.
-
iterator
public Iterator<NESTSequenceNodeObject> iterator()
- Specified by:
iteratorin interfaceIterable<NESTSequenceNodeObject>
-
getStartNodes
public Set<NESTSequenceNodeObject> getStartNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the list of startNodes (nodes with no incoming NESTControlflowEdge) for this graph.- Specified by:
getStartNodesin interfaceNESTAbstractWorkflowObject- Returns:
-
getEndNodes
public Set<NESTSequenceNodeObject> getEndNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the list of endNodes (nodes with no outgoing NESTControlflowEdge) for this graph.- Specified by:
getEndNodesin interfaceNESTAbstractWorkflowObject- Returns:
-
getTaskNodes
public Set<NESTTaskNodeObject> getTaskNodes(Predicate<? super NESTTaskNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete set of task nodes registered in the graph.- Specified by:
getTaskNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- Set of task nodes in the graph.
-
getTaskNodes
public Set<NESTTaskNodeObject> getTaskNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete set of task nodes registered in the graph.- Specified by:
getTaskNodesin interfaceNESTAbstractWorkflowObject- Returns:
- Set of task nodes in the graph.
-
getDataNodes
public Set<NESTDataNodeObject> getDataNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete set of data nodes registered in the graph.- Specified by:
getDataNodesin interfaceNESTAbstractWorkflowObject- Returns:
- Set of data nodes in the graph.
-
getDataNodes
public Set<NESTDataNodeObject> getDataNodes(Predicate<? super NESTDataNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns the complete set of data nodes registered in the graph.- Specified by:
getDataNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- Set of data nodes in the graph.
-
getOutputDataNodes
public Set<NESTDataNodeObject> getOutputDataNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns these data objects that are outputs of the entire workflow (no intermediate objects)- Specified by:
getOutputDataNodesin interfaceNESTAbstractWorkflowObject- Returns:
- list of data node objects
-
getOutputDataNodes
public Set<NESTDataNodeObject> getOutputDataNodes(Predicate<? super NESTDataNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns these data objects that are outputs of the entire workflow (no intermediate objects)- Specified by:
getOutputDataNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- list of data node objects
-
getInputDataNodes
public Set<NESTDataNodeObject> getInputDataNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns these data objects that are inputs of the entire workflow (no intermediate objects)- Specified by:
getInputDataNodesin interfaceNESTAbstractWorkflowObject- Returns:
- list of data node objects
-
getInputDataNodes
public Set<NESTDataNodeObject> getInputDataNodes(Predicate<? super NESTDataNodeObject> filter)
Description copied from interface:NESTAbstractWorkflowObjectReturns these data objects that are inputs of the entire workflow (no intermediate objects)- Specified by:
getInputDataNodesin interfaceNESTAbstractWorkflowObject- Parameters:
filter- filter to apply- Returns:
- list of data node objects
-
getStartTaskNodes
public Set<NESTTaskNodeObject> getStartTaskNodes()
Description copied from interface:NESTAbstractWorkflowObjectReturns all the task nodes that are not connected via controlflow-edge to predeccessor tasks (start task nodes)- Specified by:
getStartTaskNodesin 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)
-
-