Class WorkflowElementIndex
- java.lang.Object
 - 
- de.xima.fc.workflow.processor.model.WorkflowElementIndex
 
 
- 
public final class WorkflowElementIndex extends Object
Given aWorkflowTaskorWorkflowProcess, contains various maps ofWorkflowNodes for quickly accessing the nodes by a certain index.- Since:
 - 7.0.0
 - Author:
 - XIMA MEDIA GmbH
 
 
- 
- 
Method Summary
 
 - 
 
- 
- 
Method Detail
- 
getAllNodes
public Collection<IWorkflowElementWithDeserializedModel<?,WorkflowNode>> getAllNodes()
- Returns:
 - A list of all known nodes in this element index.
 
 
- 
getAllTriggers
public Collection<IWorkflowElementWithDeserializedModel<?,WorkflowTrigger>> getAllTriggers()
- Returns:
 - A list of all known triggers in this element index.
 
 
- 
getNodeByUuid
public IWorkflowElementWithDeserializedModel<?,WorkflowNode> getNodeByUuid(ElementKey key)
- Parameters:
 key- Element key of a workflow node to find.- Returns:
 - The workflow node with the given key, or 
nullwhen no such node exists. 
 
- 
getNodeByUuid
public IWorkflowElementWithDeserializedModel<?,WorkflowNode> getNodeByUuid(NodeKey key)
- Parameters:
 key- Element key of a workflow node to find.- Returns:
 - The workflow node with the given key, or 
nullwhen no such node exists. 
 
- 
getNodesByKind
public Map<String,List<IWorkflowElementWithDeserializedModel<?,WorkflowNode>>> getNodesByKind()
- Returns:
 - All nodes, grouped by their 
AWorkflowElement.getType(). 
 
- 
getNodesByKindAndTask
public Map<String,Map<UUID,List<IWorkflowElementWithDeserializedModel<?,WorkflowNode>>>> getNodesByKindAndTask()
- Returns:
 - An index of all nodes, indexed first by their type and then by the task they belong to.
 
 
- 
getNodesByTask
public Map<UUID,List<IWorkflowElementWithDeserializedModel<?,WorkflowNode>>> getNodesByTask()
- Returns:
 - All nodes, grouped by the UUID of the task they belong to.
 
 
- 
getNodesByUuid
public Map<NodeKey,IWorkflowElementWithDeserializedModel<?,WorkflowNode>> getNodesByUuid()
- Returns:
 - All nodes , indexed by their 
ElementKey. 
 
- 
getParent
public WorkflowNode getParent(ElementKey key)
- Parameters:
 key- A node to check.- Returns:
 - The parent of the node, or 
nullwhen it is a root node. 
 
- 
getParent
public WorkflowNode getParent(NodeKey key)
- Parameters:
 key- A node to check.- Returns:
 - The parent of the node, or 
nullwhen it is a root node. 
 
- 
getParentUuids
public Iterable<NodeKey> getParentUuids(ElementKey start, boolean includeStartNode)
- Parameters:
 start- Start node.includeStartNode- Whether to include the start node in the iterable.- Returns:
 - An iterable over all parents of the start node.
 
 
- 
getParentUuids
public Iterable<NodeKey> getParentUuids(NodeKey start, boolean includeStartNode)
- Parameters:
 start- Start node.includeStartNode- Whether to include the start node in the iterable.- Returns:
 - An iterable over all parents of the start node.
 
 
- 
getParents
public Iterable<WorkflowNode> getParents(ElementKey start, boolean includeStartNode)
- Parameters:
 start- Start node.includeStartNode- Whether to include the start node in the iterable.- Returns:
 - An iterable over all parents of the start node.
 
 
- 
getParents
public Iterable<WorkflowNode> getParents(NodeKey start, boolean includeStartNode)
- Parameters:
 start- Start node.includeStartNode- Whether to include the start node in the iterable.- Returns:
 - An iterable over all parents of the start node.
 
 
- 
getTaskByUuid
public WorkflowTask getTaskByUuid(UUID taskUuid)
Gets a task by its UUID.- Parameters:
 taskUuid- UUID of the task to get.- Returns:
 - The task with the given UUID, or 
nullif no such task exists. 
 
- 
getTasks
public List<WorkflowTask> getTasks()
- Returns:
 - All tasks contained in this index.
 
 
- 
getTasksByUuid
public Map<UUID,WorkflowTask> getTasksByUuid()
Gets a map of tasks by their UUID.- Returns:
 - A map of tasks by their UUID.
 
 
- 
getTriggerByUuid
public IWorkflowElementWithDeserializedModel<?,WorkflowTrigger> getTriggerByUuid(ElementKey key)
- Parameters:
 key- Element key of a workflow trigger to find.- Returns:
 - The workflow trigger with the given key, or 
nullwhen no such trigger exists. 
 
- 
getTriggerByUuid
public IWorkflowElementWithDeserializedModel<?,WorkflowTrigger> getTriggerByUuid(TriggerKey key)
- Parameters:
 key- Element key of a workflow trigger to find.- Returns:
 - The workflow trigger with the given key, or 
nullwhen no such trigger exists. 
 
- 
getTriggersByKind
public Map<String,List<IWorkflowElementWithDeserializedModel<?,WorkflowTrigger>>> getTriggersByKind()
- Returns:
 - All triggers, grouped by their 
AWorkflowElement.getType(). 
 
- 
getTriggersByKindAndTask
public Map<String,Map<UUID,List<IWorkflowElementWithDeserializedModel<?,WorkflowTrigger>>>> getTriggersByKindAndTask()
- Returns:
 - An index of all triggers, indexed first by their type and then by the trigger they belong to.
 
 
- 
getTriggersByUuid
public Map<TriggerKey,IWorkflowElementWithDeserializedModel<?,WorkflowTrigger>> getTriggersByUuid()
- Returns:
 - All triggers, indexed by their 
ElementKey. 
 
- 
isParent
public boolean isParent(NodeKey parent, NodeKey child)
Checks if a node is a parent of another node.- Parameters:
 parent- Potential parent.child- Potential child.- Returns:
 trueif the given parent is truly a parent of the given child, or if parent == child.- Since:
 - 8.1.0
 
 
- 
of
public static WorkflowElementIndex of(WorkflowProcess process, Mandant client)
Creates a new index with all workflow element from the given process.- Parameters:
 process- Workflow process to index.client- Current client that is used to retrieve plugin trigger and node handlers.- Returns:
 - A new index with all workflow element from the given process.
 
 
- 
of
public static WorkflowElementIndex of(WorkflowTask task, Mandant client)
Creates a new index with all workflow element from the given task.- Parameters:
 task- Workflow task to index.client- Current client that is used to retrieve plugin trigger and node handlers.- Returns:
 - A new index with all workflow element from the given task.
 
 
 - 
 
 -