org.codehaus.plexus.util.dag
Class CycleDetector
java.lang.Object
org.codehaus.plexus.util.dag.CycleDetector
- public class CycleDetector
- extends java.lang.Object
- Version:
- $Id: CycleDetector.java,v 1.4 2004/01/17 20:20:15 michal Exp $
- Author:
- Michal Maczka
Field Summary |
private static java.lang.Integer |
NOT_VISTITED
|
private static java.lang.Integer |
VISITED
|
private static java.lang.Integer |
VISITING
|
Method Summary |
static java.lang.String |
cycleToString(java.util.List cycle)
|
private static java.util.List |
dfs(DAG graph)
|
private static boolean |
dfsVisit(Vertex vertex,
java.util.LinkedList cycle,
java.util.Map vertexStateMap)
|
static java.util.List |
hasCycle(DAG graph)
|
private static boolean |
isNotVisited(Vertex vertex,
java.util.Map vertexStateMap)
|
private static boolean |
isVisiting(Vertex vertex,
java.util.Map vertexStateMap)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NOT_VISTITED
private static final java.lang.Integer NOT_VISTITED
VISITING
private static final java.lang.Integer VISITING
VISITED
private static final java.lang.Integer VISITED
CycleDetector
public CycleDetector()
hasCycle
public static java.util.List hasCycle(DAG graph)
dfs
private static java.util.List dfs(DAG graph)
isNotVisited
private static boolean isNotVisited(Vertex vertex,
java.util.Map vertexStateMap)
- Parameters:
vertex
- vertexStateMap
-
- Returns:
isVisiting
private static boolean isVisiting(Vertex vertex,
java.util.Map vertexStateMap)
- Parameters:
vertex
- vertexStateMap
-
- Returns:
dfsVisit
private static boolean dfsVisit(Vertex vertex,
java.util.LinkedList cycle,
java.util.Map vertexStateMap)
cycleToString
public static final java.lang.String cycleToString(java.util.List cycle)