Class NESTWorkflowExtractorImpl
- java.lang.Object
-
- de.uni_trier.wi2.procake.utils.extractor.NESTWorkflowExtractorImpl
-
- All Implemented Interfaces:
NESTWorkflowExtractor
public class NESTWorkflowExtractorImpl extends Object implements NESTWorkflowExtractor
Implementation ofNESTWorkflowExtractor.
-
-
Field Summary
Fields Modifier and Type Field Description protected NESTWorkflowObjectnestWorkflow
-
Constructor Summary
Constructors Constructor Description NESTWorkflowExtractorImpl(NESTWorkflowObject nestWorkflow)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LinkedList<NESTDataNodeObject>extractOrderedDataNodes()LinkedList<NESTSequenceNodeObject>extractOrderedSequenceNodes()LinkedList<NESTTaskNodeObject>extractOrderedTaskNodes()NESTWorkflowObjectextractPartialGraph(NESTSequenceNodeObject componentNode, boolean removeUnusedControlflowBlocks)Returns a cloned partial nest workflow graph for a sequence node.NESTWorkflowObjectextractPartialGraph(Collection<NESTSequenceNodeObject> componentNodes, boolean removeUnusedControlflowBlocks)Returns a cloned partial nest workflow graph for a given set of sequence nodes.Set<NESTWorkflowObject>extractPartialGraphComponents()Returns a set of partial nest workflow graph for those sequence nodes that are connected via the control-flow and a set of partial nest graphs containing unlinked data objects.Set<NESTWorkflowObject>extractSingleTaskBlocks()Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.Set<NESTWorkflowObject>extractSingleTaskBlocks(Predicate<NESTTaskNodeObject> filter)Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.Set<NESTWorkflowObject>extractTaskSequences(int minLength)Extracts each longest sequence of task nodes without controlflow nodes and with at least minLength tasksSet<NESTWorkflowObject>extractWorkflowBlocks()Returns a set of nest workflow graphs that are blocks of a block-oriented workflow graph.
-
-
-
Field Detail
-
nestWorkflow
protected final NESTWorkflowObject nestWorkflow
-
-
Constructor Detail
-
NESTWorkflowExtractorImpl
public NESTWorkflowExtractorImpl(NESTWorkflowObject nestWorkflow)
-
-
Method Detail
-
extractTaskSequences
public Set<NESTWorkflowObject> extractTaskSequences(int minLength)
Description copied from interface:NESTWorkflowExtractorExtracts each longest sequence of task nodes without controlflow nodes and with at least minLength tasks- Specified by:
extractTaskSequencesin interfaceNESTWorkflowExtractor- Parameters:
minLength- minimum number of tasks in a sequence- Returns:
- set of nest workflow graphs with task sequences
-
extractSingleTaskBlocks
public Set<NESTWorkflowObject> extractSingleTaskBlocks()
Description copied from interface:NESTWorkflowExtractorReturns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.- Specified by:
extractSingleTaskBlocksin interfaceNESTWorkflowExtractor- Returns:
- set of nest workflow graphs
-
extractSingleTaskBlocks
public Set<NESTWorkflowObject> extractSingleTaskBlocks(Predicate<NESTTaskNodeObject> filter)
Description copied from interface:NESTWorkflowExtractorReturns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.- Specified by:
extractSingleTaskBlocksin interfaceNESTWorkflowExtractor- Parameters:
filter- filter for the tasks to be extracted- Returns:
- set of nest workflow graphs
-
extractWorkflowBlocks
public Set<NESTWorkflowObject> extractWorkflowBlocks()
Description copied from interface:NESTWorkflowExtractorReturns a set of nest workflow graphs that are blocks of a block-oriented workflow graph. Returns the following elements as a single graph: - each single task node, - each longest sequence of task nodes without controlflow nodes with at least two tasks, - each controlflow block with contained sequences Returns null if the given nest workflow graph is not block-oriented.- Specified by:
extractWorkflowBlocksin interfaceNESTWorkflowExtractor- Returns:
- set of nest workflow graphs
-
extractPartialGraphComponents
public Set<NESTWorkflowObject> extractPartialGraphComponents()
Description copied from interface:NESTWorkflowExtractorReturns a set of partial nest workflow graph for those sequence nodes that are connected via the control-flow and a set of partial nest graphs containing unlinked data objects.- Specified by:
extractPartialGraphComponentsin interfaceNESTWorkflowExtractor- Returns:
- set of partial nest workflow graphs
-
extractOrderedDataNodes
public LinkedList<NESTDataNodeObject> extractOrderedDataNodes()
- Specified by:
extractOrderedDataNodesin interfaceNESTWorkflowExtractor- Returns:
- data nodes ordered by occurrence.
-
extractOrderedTaskNodes
public LinkedList<NESTTaskNodeObject> extractOrderedTaskNodes()
- Specified by:
extractOrderedTaskNodesin interfaceNESTWorkflowExtractor- Returns:
- task nodes ordered by occurrence.
-
extractPartialGraph
public NESTWorkflowObject extractPartialGraph(Collection<NESTSequenceNodeObject> componentNodes, boolean removeUnusedControlflowBlocks)
Description copied from interface:NESTWorkflowExtractorReturns a cloned partial nest workflow graph for a given set of sequence nodes.- Specified by:
extractPartialGraphin interfaceNESTWorkflowExtractor- Parameters:
componentNodes- the set of sequence nodes that are contained in the nest graphremoveUnusedControlflowBlocks- defined whether unused control-flow blocks are removed- Returns:
- cloned partial nest workflow graph
-
extractPartialGraph
public NESTWorkflowObject extractPartialGraph(NESTSequenceNodeObject componentNode, boolean removeUnusedControlflowBlocks)
Description copied from interface:NESTWorkflowExtractorReturns a cloned partial nest workflow graph for a sequence node.- Specified by:
extractPartialGraphin interfaceNESTWorkflowExtractor- Parameters:
componentNode- the set of sequence nodes that are contained in the nest workflow graphremoveUnusedControlflowBlocks- defined whether unused control-flow blocks are removed- Returns:
- cloned partial nest workflow graph
-
extractOrderedSequenceNodes
public LinkedList<NESTSequenceNodeObject> extractOrderedSequenceNodes()
- Specified by:
extractOrderedSequenceNodesin interfaceNESTWorkflowExtractor- Returns:
- sequence nodes ordered by occurrence.
-
-