public class StrongComponentProcessor extends GraphProcessor
Constructor and Description |
---|
StrongComponentProcessor(boolean calculateAttributes)
Creates an instance.
|
Modifier and Type | Method and Description |
---|---|
protected void |
finishProcessing(Vertex[] graph)
Adds all arcs to the strong components.
|
StrongComponent[] |
getStrongComponents()
Returns the result of
GraphProcessor.deepSearchFirst(classycle.graph.Vertex[]) . |
protected void |
initializeProcessing(Vertex[] graph)
Initializes processing.
|
protected void |
processAfter(Vertex vertex)
Processes the specified vertex after all its outgoing arcs are
processed.
|
protected void |
processArc(Vertex tail,
Vertex head)
Processes the arc specified by tail and head vertices.
|
protected void |
processBefore(Vertex vertex)
Processes the specified vertex before its outgoing arcs are processed.
|
deepSearchFirst, process
public StrongComponentProcessor(boolean calculateAttributes)
calculateAttributes
- If true the attributes of the
strong components will be calculated. Otherwise not.public StrongComponent[] getStrongComponents()
GraphProcessor.deepSearchFirst(classycle.graph.Vertex[])
.protected void initializeProcessing(Vertex[] graph)
GraphProcessor
GraphProcessor.deepSearchFirst(classycle.graph.Vertex[])
.initializeProcessing
in class GraphProcessor
protected void processBefore(Vertex vertex)
GraphProcessor
processBefore
in class GraphProcessor
vertex
- Vertex to be processed.java.lang.IllegalArgumentException
- if vertex is not an instance
of AtomicVertex
.protected void processArc(Vertex tail, Vertex head)
GraphProcessor
processArc
in class GraphProcessor
tail
- Tail vertex of the arc.head
- Head vertex of the arc.java.lang.IllegalArgumentException
- if tail and head are
not an instances of AtomicVertex
.protected void processAfter(Vertex vertex)
processAfter
in class GraphProcessor
vertex
- Vertex to be processed.java.lang.IllegalArgumentException
- if vertex is not an instance
of AtomicVertex
.protected void finishProcessing(Vertex[] graph)
finishProcessing
in class GraphProcessor