org.codehaus.plexus.util.dag
Class CycleDetector

java.lang.Object
  extended byorg.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
           
 
Constructor Summary
CycleDetector()
           
 
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
 

Field Detail

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
Constructor Detail

CycleDetector

public CycleDetector()
Method Detail

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)