Package classycle.graph
Class LongestWalkProcessor
- java.lang.Object
-
- classycle.graph.GraphProcessor
-
- classycle.graph.LongestWalkProcessor
-
public class LongestWalkProcessor extends GraphProcessor
Calculates for each vertex the longest walk. This processor assumes that the graph has no cycles.- Author:
- Franz-Josef Elmer
-
-
Constructor Summary
Constructors Constructor Description LongestWalkProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfinishProcessing(Vertex[] graph)Finishes processing by sorting the result in accordance with the walk length.protected voidinitializeProcessing(Vertex[] graph)Does nothing.protected voidprocessAfter(Vertex vertex)Deactivate the specified vertex.protected voidprocessArc(Vertex tail, Vertex head)Processes arc from tail to head.protected voidprocessBefore(Vertex vertex)Resets the specified vertex.-
Methods inherited from class classycle.graph.GraphProcessor
deepSearchFirst, process
-
-
-
-
Method Detail
-
initializeProcessing
protected void initializeProcessing(Vertex[] graph)
Does nothing.- Specified by:
initializeProcessingin classGraphProcessor
-
processBefore
protected void processBefore(Vertex vertex)
Resets the specified vertex.- Specified by:
processBeforein classGraphProcessor- Parameters:
vertex- Vertex to be processed.- Throws:
java.lang.IllegalArgumentException- if vertex is not an instance ofStrongComponent.
-
processArc
protected void processArc(Vertex tail, Vertex head)
Processes arc from tail to head. Calculates the longest walk of tail.- Specified by:
processArcin classGraphProcessor- Parameters:
tail- Tail vertex of the arc.head- Head vertex of the arc.- Throws:
java.lang.IllegalArgumentException- if both vertices are not instances ofStrongComponentor if head is visited and active which indicates a cycle in the graph.
-
processAfter
protected void processAfter(Vertex vertex)
Deactivate the specified vertex.- Specified by:
processAfterin classGraphProcessor- Parameters:
vertex- Vertex to be processed.- Throws:
java.lang.IllegalArgumentException- if vertex is not an instance ofStrongComponent.
-
finishProcessing
protected void finishProcessing(Vertex[] graph)
Finishes processing by sorting the result in accordance with the walk length.- Specified by:
finishProcessingin classGraphProcessor
-
-