public abstract class BaseProcessGraph<Process extends ProcessModel> extends java.lang.Object implements ProcessGraph<Process>
Modifier and Type | Field and Description |
---|---|
protected java.util.Set<FlowElement> |
sinkElements |
protected java.util.Set<FlowElement> |
sourceElements |
protected java.util.Map<java.lang.String,Tap> |
trapsMap |
Constructor and Description |
---|
BaseProcessGraph() |
Modifier and Type | Method and Description |
---|---|
ProcessEdge |
addEdge(Process sourceVertex,
Process targetVertex) |
boolean |
addEdge(Process sourceVertex,
Process targetVertex,
ProcessEdge processEdge) |
boolean |
addVertex(Process process) |
void |
bindEdges() |
boolean |
containsEdge(ProcessEdge processEdge) |
boolean |
containsEdge(Process sourceVertex,
Process targetVertex) |
boolean |
containsVertex(Process process) |
java.util.Set<ProcessEdge> |
edgeSet() |
java.util.Set<ProcessEdge> |
edgesOf(Process vertex) |
java.util.Set<ProcessEdge> |
getAllEdges(Process sourceVertex,
Process targetVertex) |
java.util.Set<FlowElement> |
getAllSinkElements() |
java.util.Set<FlowElement> |
getAllSourceElements() |
EnumMultiMap<FlowElement> |
getAnnotations() |
java.util.Set<FlowElement> |
getDuplicatedElements(ElementGraph elementGraph)
All elements, from the given ElementGraph, that belong to two or more processes, that are not sink or source elements that
connect processes.
|
ProcessEdge |
getEdge(Process sourceVertex,
Process targetVertex) |
Process |
getEdgeSource(ProcessEdge processEdge) |
Process |
getEdgeTarget(ProcessEdge processEdge) |
double |
getEdgeWeight(ProcessEdge processEdge) |
java.util.Set<ElementGraph> |
getElementGraphs() |
java.util.List<ElementGraph> |
getElementGraphs(FlowElement flowElement) |
java.util.List<ElementGraph> |
getElementGraphs(Scope scope) |
java.util.List<Process> |
getElementProcesses(FlowElement flowElement) |
java.util.List<Process> |
getElementProcesses(Scope scope) |
java.util.List<Process> |
getElementSinkProcesses(FlowElement flowElement) |
java.util.List<Process> |
getElementSourceProcesses(FlowElement flowElement) |
java.util.Set<ElementGraph> |
getIdentityElementGraphs() |
java.util.Set<Process> |
getIdentityProcesses()
Returns a set of processes that perform no internal operations.
|
java.util.Iterator<Process> |
getOrderedTopologicalIterator(java.util.Comparator<Process> comparator) |
java.util.Iterator<Process> |
getOrdinalTopologicalIterator() |
java.util.Set<FlowElement> |
getSinkElements() |
java.util.Set<Tap> |
getSinkTaps() |
java.util.Map<java.lang.String,Tap> |
getSinkTapsMap() |
java.util.Set<FlowElement> |
getSourceElements() |
java.util.Set<Tap> |
getSourceTaps() |
java.util.Map<java.lang.String,Tap> |
getSourceTapsMap() |
java.util.Iterator<Process> |
getTopologicalIterator() |
java.util.Map<java.lang.String,Tap> |
getTrapsMap() |
java.util.Set<ProcessEdge> |
incomingEdgesOf(Process vertex) |
int |
inDegreeOf(Process vertex) |
int |
outDegreeOf(Process vertex) |
java.util.Set<ProcessEdge> |
outgoingEdgesOf(Process vertex) |
protected void |
printProcessGraph(java.lang.String filename) |
boolean |
removeAllEdges(java.util.Collection<? extends ProcessEdge> edges) |
java.util.Set<ProcessEdge> |
removeAllEdges(Process sourceVertex,
Process targetVertex) |
boolean |
removeAllVertices(java.util.Collection<? extends Process> vertices) |
boolean |
removeEdge(ProcessEdge processEdge) |
ProcessEdge |
removeEdge(Process sourceVertex,
Process targetVertex) |
boolean |
removeVertex(Process process) |
java.util.Set<Process> |
vertexSet() |
void |
writeDOT(java.lang.String filename)
Method writeDOT writes this element graph to a DOT file for easy visualization and debugging.
|
void |
writeDOTNested(java.lang.String filename,
ElementGraph graph) |
protected java.util.Set<FlowElement> sourceElements
protected java.util.Set<FlowElement> sinkElements
public BaseProcessGraph()
public boolean addVertex(Process process)
addVertex
in interface ProcessGraph<Process extends ProcessModel>
public void bindEdges()
public java.util.Set<FlowElement> getSourceElements()
getSourceElements
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<FlowElement> getSinkElements()
getSinkElements
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<Tap> getSourceTaps()
getSourceTaps
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Map<java.lang.String,Tap> getSourceTapsMap()
getSourceTapsMap
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<Tap> getSinkTaps()
getSinkTaps
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Map<java.lang.String,Tap> getSinkTapsMap()
getSinkTapsMap
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Map<java.lang.String,Tap> getTrapsMap()
getTrapsMap
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Iterator<Process> getTopologicalIterator()
getTopologicalIterator
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Iterator<Process> getOrdinalTopologicalIterator()
getOrdinalTopologicalIterator
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Iterator<Process> getOrderedTopologicalIterator(java.util.Comparator<Process> comparator)
getOrderedTopologicalIterator
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ElementGraph> getElementGraphs()
getElementGraphs
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<ElementGraph> getElementGraphs(FlowElement flowElement)
getElementGraphs
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<Process> getElementProcesses(FlowElement flowElement)
getElementProcesses
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<ElementGraph> getElementGraphs(Scope scope)
getElementGraphs
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<Process> getElementProcesses(Scope scope)
getElementProcesses
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<Process> getElementSourceProcesses(FlowElement flowElement)
getElementSourceProcesses
in interface ProcessGraph<Process extends ProcessModel>
public java.util.List<Process> getElementSinkProcesses(FlowElement flowElement)
getElementSinkProcesses
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<FlowElement> getAllSourceElements()
getAllSourceElements
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<FlowElement> getAllSinkElements()
getAllSinkElements
in interface ProcessGraph<Process extends ProcessModel>
public EnumMultiMap<FlowElement> getAnnotations()
getAnnotations
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<FlowElement> getDuplicatedElements(ElementGraph elementGraph)
getDuplicatedElements
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ElementGraph> getIdentityElementGraphs()
getIdentityElementGraphs
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<Process> getIdentityProcesses()
getIdentityProcesses
in interface ProcessGraph<Process extends ProcessModel>
public void writeDOT(java.lang.String filename)
writeDOT
in interface ProcessGraph<Process extends ProcessModel>
filename
- of type Stringprotected void printProcessGraph(java.lang.String filename)
public void writeDOTNested(java.lang.String filename, ElementGraph graph)
writeDOTNested
in interface ProcessGraph<Process extends ProcessModel>
public boolean containsEdge(Process sourceVertex, Process targetVertex)
containsEdge
in interface ProcessGraph<Process extends ProcessModel>
public boolean removeAllEdges(java.util.Collection<? extends ProcessEdge> edges)
removeAllEdges
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> removeAllEdges(Process sourceVertex, Process targetVertex)
removeAllEdges
in interface ProcessGraph<Process extends ProcessModel>
public boolean removeAllVertices(java.util.Collection<? extends Process> vertices)
removeAllVertices
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> getAllEdges(Process sourceVertex, Process targetVertex)
getAllEdges
in interface ProcessGraph<Process extends ProcessModel>
public ProcessEdge getEdge(Process sourceVertex, Process targetVertex)
getEdge
in interface ProcessGraph<Process extends ProcessModel>
public ProcessEdge addEdge(Process sourceVertex, Process targetVertex)
addEdge
in interface ProcessGraph<Process extends ProcessModel>
public boolean addEdge(Process sourceVertex, Process targetVertex, ProcessEdge processEdge)
addEdge
in interface ProcessGraph<Process extends ProcessModel>
public Process getEdgeSource(ProcessEdge processEdge)
getEdgeSource
in interface ProcessGraph<Process extends ProcessModel>
public Process getEdgeTarget(ProcessEdge processEdge)
getEdgeTarget
in interface ProcessGraph<Process extends ProcessModel>
public boolean containsEdge(ProcessEdge processEdge)
containsEdge
in interface ProcessGraph<Process extends ProcessModel>
public boolean containsVertex(Process process)
containsVertex
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> edgeSet()
edgeSet
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> edgesOf(Process vertex)
edgesOf
in interface ProcessGraph<Process extends ProcessModel>
public int inDegreeOf(Process vertex)
inDegreeOf
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> incomingEdgesOf(Process vertex)
incomingEdgesOf
in interface ProcessGraph<Process extends ProcessModel>
public int outDegreeOf(Process vertex)
outDegreeOf
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<ProcessEdge> outgoingEdgesOf(Process vertex)
outgoingEdgesOf
in interface ProcessGraph<Process extends ProcessModel>
public ProcessEdge removeEdge(Process sourceVertex, Process targetVertex)
removeEdge
in interface ProcessGraph<Process extends ProcessModel>
public boolean removeEdge(ProcessEdge processEdge)
removeEdge
in interface ProcessGraph<Process extends ProcessModel>
public boolean removeVertex(Process process)
removeVertex
in interface ProcessGraph<Process extends ProcessModel>
public java.util.Set<Process> vertexSet()
vertexSet
in interface ProcessGraph<Process extends ProcessModel>
public double getEdgeWeight(ProcessEdge processEdge)
getEdgeWeight
in interface ProcessGraph<Process extends ProcessModel>
Copyright © 2007-2015 Xplenty, Inc. All Rights Reserved.