diff --git a/src/java/org/apache/commons/graph/BFS.java b/src/java/org/apache/commons/graph/BFS.java
index 552c216..2c7206e 100644
--- a/src/java/org/apache/commons/graph/BFS.java
+++ b/src/java/org/apache/commons/graph/BFS.java
@@ -55,6 +55,7 @@ package org.apache.commons.graph;
*/
import java.util.Vector;
+import org.apache.commons.graph.visitor.Visitor;
/**
* Visit graph with breadth first search and compute the predecessor
@@ -62,7 +63,7 @@ import java.util.Vector;
* so that it performs Dijkstra's shortest-path algorithm, for
* instance, if you extend the VQueue class to a Priority Queue.
*
- * @version $Id: BFS.java,v 1.1 2001/11/12 16:05:17 jvanzyl Exp $
+ * @version $Id: BFS.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public class BFS extends TraversalOrder {
diff --git a/src/java/org/apache/commons/graph/DFS.java b/src/java/org/apache/commons/graph/DFS.java
index 9efe70d..737818b 100644
--- a/src/java/org/apache/commons/graph/DFS.java
+++ b/src/java/org/apache/commons/graph/DFS.java
@@ -54,11 +54,13 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Visit graph with depth first search and mark discovery and finishing time in all
* vertices.
*
- * @version $Id: DFS.java,v 1.1 2001/11/12 16:05:18 jvanzyl Exp $
+ * @version $Id: DFS.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public class DFS extends TraversalOrder {
diff --git a/src/java/org/apache/commons/graph/Edge.java b/src/java/org/apache/commons/graph/Edge.java
index 371fca8..932a01e 100644
--- a/src/java/org/apache/commons/graph/Edge.java
+++ b/src/java/org/apache/commons/graph/Edge.java
@@ -54,11 +54,13 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Describes an edge between two vertices of a graph, i.e. a relation between
* two arbitrary vertices.
*
- * @version $Id: Edge.java,v 1.1 2001/11/12 16:05:18 jvanzyl Exp $
+ * @version $Id: Edge.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public class Edge implements Cloneable, Constants, java.io.Serializable {
diff --git a/src/java/org/apache/commons/graph/Graph.java b/src/java/org/apache/commons/graph/Graph.java
index d1a1ae3..b7feac8 100644
--- a/src/java/org/apache/commons/graph/Graph.java
+++ b/src/java/org/apache/commons/graph/Graph.java
@@ -58,10 +58,14 @@ import java.util.*;
import java.util.zip.*;
import java.io.*;
+import org.apache.commons.graph.visitor.Visitor;
+import org.apache.commons.graph.visitor.DefaultVisitor;
+import org.apache.commons.graph.visitor.PrintVisitor;
+
/**
* Describes a generic graph G = (V, E), i.e. a set of vertices and edges.
*
- * @version $Id: Graph.java,v 1.1 2001/11/12 16:05:19 jvanzyl Exp $
+ * @version $Id: Graph.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public class Graph implements Cloneable, Constants, Serializable {
diff --git a/src/java/org/apache/commons/graph/GraphVisualizer.java b/src/java/org/apache/commons/graph/GraphVisualizer.java
index ab764c6..c840b0b 100644
--- a/src/java/org/apache/commons/graph/GraphVisualizer.java
+++ b/src/java/org/apache/commons/graph/GraphVisualizer.java
@@ -56,6 +56,8 @@ package org.apache.commons.graph;
import java.io.*;
import java.util.StringTokenizer;
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Abstract super class for drivers that visualize graphs
* in different graph formats such as
@@ -67,7 +69,7 @@ import java.util.StringTokenizer;
* By default graphs are dumped in the native Java format, i.e. by using the
* Serialization feature.
*
- * @version $Id: GraphVisualizer.java,v 1.1 2001/11/12 16:05:19 jvanzyl Exp $
+ * @version $Id: GraphVisualizer.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
* @see DaVinciVisualizer
* @see GMLVisualizer
diff --git a/src/java/org/apache/commons/graph/Sequential.java b/src/java/org/apache/commons/graph/Sequential.java
index 96f9d75..7fefd6e 100644
--- a/src/java/org/apache/commons/graph/Sequential.java
+++ b/src/java/org/apache/commons/graph/Sequential.java
@@ -54,10 +54,12 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Visit graph in sequential order, i.e. in the order returned by Graph.getVertices().
*
- * @version $Id: Sequential.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: Sequential.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public final class Sequential extends TraversalOrder {
diff --git a/src/java/org/apache/commons/graph/TraversalOrder.java b/src/java/org/apache/commons/graph/TraversalOrder.java
index de4d45b..df84061 100644
--- a/src/java/org/apache/commons/graph/TraversalOrder.java
+++ b/src/java/org/apache/commons/graph/TraversalOrder.java
@@ -54,6 +54,8 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Class takes a visitor "piggy-backed" and applies it to all nodes
* and edges. The traversal order implemented by children of this
@@ -61,7 +63,7 @@ package org.apache.commons.graph;
*
* This relates to the "Strategy" design pattern.
*
- * @version $Id: TraversalOrder.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: TraversalOrder.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
* @see DFS
* @see BFS
diff --git a/src/java/org/apache/commons/graph/VStack.java b/src/java/org/apache/commons/graph/VStack.java
index eb563cc..7607071 100644
--- a/src/java/org/apache/commons/graph/VStack.java
+++ b/src/java/org/apache/commons/graph/VStack.java
@@ -57,19 +57,19 @@ package org.apache.commons.graph;
/**
* Implements a simple first-in, last-out stack of vertices of fixed size.
*
- * @version $Id: VStack.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: VStack.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
-final class VStack {
+public final class VStack {
private Vertex[] vertices;
private int top;
- VStack(int s) {
+ public VStack(int s) {
vertices = new Vertex[s];
}
- final void push(Vertex v) { vertices[top++] = v; }
- final Vertex pop() { return vertices[--top]; }
- final Vertex top() { return vertices[top - 1]; }
- final boolean empty() { return top <= 0; }
+ public final void push(Vertex v) { vertices[top++] = v; }
+ public final Vertex pop() { return vertices[--top]; }
+ public final Vertex top() { return vertices[top - 1]; }
+ public final boolean empty() { return top <= 0; }
}
diff --git a/src/java/org/apache/commons/graph/Vertex.java b/src/java/org/apache/commons/graph/Vertex.java
index bb22719..9f0ed9e 100644
--- a/src/java/org/apache/commons/graph/Vertex.java
+++ b/src/java/org/apache/commons/graph/Vertex.java
@@ -54,10 +54,12 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.visitor.Visitor;
+
/**
* Describes a vertex of a graph.
*
- * @version $Id: Vertex.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: Vertex.java,v 1.2 2001/11/29 14:17:33 jvanzyl Exp $
* @author M. Dahm
*/
public class Vertex implements Cloneable, Constants, java.io.Serializable {
diff --git a/src/java/org/apache/commons/graph/BFSVisitor.java b/src/java/org/apache/commons/graph/visitor/BFSVisitor.java
similarity index 91%
rename from src/java/org/apache/commons/graph/BFSVisitor.java
rename to src/java/org/apache/commons/graph/visitor/BFSVisitor.java
index 5e21b40..2549b05 100644
--- a/src/java/org/apache/commons/graph/BFSVisitor.java
+++ b/src/java/org/apache/commons/graph/visitor/BFSVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -54,11 +54,18 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.BFS;
+import org.apache.commons.graph.Constants;
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+import org.apache.commons.graph.VStack;
+
/**
* Visit graph with BFS and compute predecessors during traversal as
* well as the "distance" to the source node (number of edges in between).
*
- * @version $Id: BFSVisitor.java,v 1.1 2001/11/12 16:05:17 jvanzyl Exp $
+ * @version $Id: BFSVisitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
* @see BFS
*/
diff --git a/src/java/org/apache/commons/graph/DFSVisitor.java b/src/java/org/apache/commons/graph/visitor/DFSVisitor.java
similarity index 93%
rename from src/java/org/apache/commons/graph/DFSVisitor.java
rename to src/java/org/apache/commons/graph/visitor/DFSVisitor.java
index c05a896..a790f42 100644
--- a/src/java/org/apache/commons/graph/DFSVisitor.java
+++ b/src/java/org/apache/commons/graph/visitor/DFSVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -54,13 +54,18 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+import org.apache.commons.graph.VStack;
+
/**
* Visit graph with DFS and compute predecessors during traversal as
* well as discovery and finishing time of all vertices. Instances of
* this class (and of course its descendants) may be passed to a DFS
* object.
*
- * @version $Id: DFSVisitor.java,v 1.1 2001/11/12 16:05:18 jvanzyl Exp $
+ * @version $Id: DFSVisitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
* @see DFS
*/
diff --git a/src/java/org/apache/commons/graph/DefaultVisitor.java b/src/java/org/apache/commons/graph/visitor/DefaultVisitor.java
similarity index 92%
rename from src/java/org/apache/commons/graph/DefaultVisitor.java
rename to src/java/org/apache/commons/graph/visitor/DefaultVisitor.java
index 44db502..f09f340 100644
--- a/src/java/org/apache/commons/graph/DefaultVisitor.java
+++ b/src/java/org/apache/commons/graph/visitor/DefaultVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -54,10 +54,15 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.DFS;
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+
/**
* Empty Visitor, i.e. all visit methods do nothing.
*
- * @version $Id: DefaultVisitor.java,v 1.1 2001/11/12 16:05:18 jvanzyl Exp $
+ * @version $Id: DefaultVisitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
*/
public class DefaultVisitor implements Visitor {
diff --git a/src/java/org/apache/commons/graph/PrintVisitor.java b/src/java/org/apache/commons/graph/visitor/PrintVisitor.java
similarity index 93%
rename from src/java/org/apache/commons/graph/PrintVisitor.java
rename to src/java/org/apache/commons/graph/visitor/PrintVisitor.java
index bb6d883..1b00949 100644
--- a/src/java/org/apache/commons/graph/PrintVisitor.java
+++ b/src/java/org/apache/commons/graph/visitor/PrintVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -53,14 +53,20 @@ package org.apache.commons.graph;
* information on the Apache Software Foundation, please see
* .
*/
+
import java.io.PrintWriter;
+import org.apache.commons.graph.DFS;
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+
/**
* Visit graph with depth first search and simply prints the current
* vertices and edges as they are discovered. May be used with DFS, BFS,
* Sequential or any other visitor. Uses DFS by default.
*
- * @version $Id: PrintVisitor.java,v 1.1 2001/11/12 16:05:19 jvanzyl Exp $
+ * @version $Id: PrintVisitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
*/
public class PrintVisitor implements Visitor {
diff --git a/src/java/org/apache/commons/graph/SCCVisitor.java b/src/java/org/apache/commons/graph/visitor/SCCVisitor.java
similarity index 95%
rename from src/java/org/apache/commons/graph/SCCVisitor.java
rename to src/java/org/apache/commons/graph/visitor/SCCVisitor.java
index 20d6ef1..c913252 100644
--- a/src/java/org/apache/commons/graph/SCCVisitor.java
+++ b/src/java/org/apache/commons/graph/visitor/SCCVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -56,10 +56,16 @@ package org.apache.commons.graph;
import java.util.Vector;
+import org.apache.commons.graph.DFS;
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+import org.apache.commons.graph.VStack;
+
/**
* Visit graph computing its "Strongly Connected Components" (SCC).
*
- * @version $Id: SCCVisitor.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: SCCVisitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
* @see DFS
*/
diff --git a/src/java/org/apache/commons/graph/Visitor.java b/src/java/org/apache/commons/graph/visitor/Visitor.java
similarity index 93%
rename from src/java/org/apache/commons/graph/Visitor.java
rename to src/java/org/apache/commons/graph/visitor/Visitor.java
index 2027f33..8f992e5 100644
--- a/src/java/org/apache/commons/graph/Visitor.java
+++ b/src/java/org/apache/commons/graph/visitor/Visitor.java
@@ -1,4 +1,4 @@
-package org.apache.commons.graph;
+package org.apache.commons.graph.visitor;
/* ====================================================================
* The Apache Software License, Version 1.1
@@ -54,10 +54,14 @@ package org.apache.commons.graph;
* .
*/
+import org.apache.commons.graph.Edge;
+import org.apache.commons.graph.Graph;
+import org.apache.commons.graph.Vertex;
+
/**
* Interface for visitor patterns.
*
- * @version $Id: Visitor.java,v 1.1 2001/11/12 16:05:20 jvanzyl Exp $
+ * @version $Id: Visitor.java,v 1.1 2001/11/29 14:17:34 jvanzyl Exp $
* @author M. Dahm
*/
public interface Visitor {