Java 2 Platform
v1.3

edu.umich.visualsoar.graph
Class Graph

java.lang.Object
  |
  +--edu.umich.visualsoar.graph.Graph
Direct Known Subclasses:
DirectedGraph

public abstract class Graph
extends java.lang.Object

This class is a graph class that provides an interface for different kinds of graphs it is based on Object-Oriented Design patterns in C++, later converted to Java


Field Summary
protected  int numberOfEdges
           
protected  int numberOfVertices
           
 
Constructor Summary
Graph()
           
 
Method Summary
abstract  void addEdge(edu.umich.visualsoar.graph.Edge e)
           
abstract  void addVertex(edu.umich.visualsoar.graph.Vertex v)
          Adds a vertex to the graph
 void breadthFirstTraversal(edu.umich.visualsoar.util.Visitor visitor, edu.umich.visualsoar.graph.Vertex start)
           
 void depthFirstTraversal(edu.umich.visualsoar.util.PrePostVisitor visitor, edu.umich.visualsoar.graph.Vertex start)
           
protected  void depthFirstTraversal(edu.umich.visualsoar.util.PrePostVisitor visitor, edu.umich.visualsoar.graph.Vertex vertex, boolean[] visited)
           
abstract  java.util.Enumeration edges()
           
abstract  java.util.Enumeration emanatingEdges(edu.umich.visualsoar.graph.Vertex v)
           
 edu.umich.visualsoar.graph.Vertex get(int id)
           
abstract  java.util.Enumeration incidentEdges(edu.umich.visualsoar.graph.Vertex v)
           
 boolean isConnected()
           
 boolean isCyclic()
          Tests the graph for cycles returns true if there is a cycle, false otherwise
abstract  boolean isEdge(int v0, int v1)
          If you have two vertices, tests whether there is an edge between them, if there is return true otherwise false
 int numberOfEdges()
           
 int numberOfVertices()
           
abstract  void removeEdge(edu.umich.visualsoar.graph.Edge e)
           
abstract  edu.umich.visualsoar.graph.Edge selectEdge(int v0, int v1)
          If you have two vertices, get the edge between them if the edge exists in the graph it returns that edge otherwise it returns null
abstract  edu.umich.visualsoar.graph.Vertex selectVertex(int id)
           
abstract  java.util.Enumeration vertices()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numberOfVertices

protected int numberOfVertices

numberOfEdges

protected int numberOfEdges
Constructor Detail

Graph

public Graph()
Method Detail

depthFirstTraversal

protected void depthFirstTraversal(edu.umich.visualsoar.util.PrePostVisitor visitor,
                                   edu.umich.visualsoar.graph.Vertex vertex,
                                   boolean[] visited)

numberOfEdges

public int numberOfEdges()
Returns:
the numberOfEdges

numberOfVertices

public int numberOfVertices()
Returns:
the numberOfVertices

addVertex

public abstract void addVertex(edu.umich.visualsoar.graph.Vertex v)
Adds a vertex to the graph


selectVertex

public abstract edu.umich.visualsoar.graph.Vertex selectVertex(int id)

get

public edu.umich.visualsoar.graph.Vertex get(int id)

addEdge

public abstract void addEdge(edu.umich.visualsoar.graph.Edge e)

removeEdge

public abstract void removeEdge(edu.umich.visualsoar.graph.Edge e)

selectEdge

public abstract edu.umich.visualsoar.graph.Edge selectEdge(int v0,
                                                           int v1)
If you have two vertices, get the edge between them if the edge exists in the graph it returns that edge otherwise it returns null


isEdge

public abstract boolean isEdge(int v0,
                               int v1)
If you have two vertices, tests whether there is an edge between them, if there is return true otherwise false


isConnected

public boolean isConnected()

isCyclic

public boolean isCyclic()
Tests the graph for cycles returns true if there is a cycle, false otherwise


vertices

public abstract java.util.Enumeration vertices()

edges

public abstract java.util.Enumeration edges()

incidentEdges

public abstract java.util.Enumeration incidentEdges(edu.umich.visualsoar.graph.Vertex v)

emanatingEdges

public abstract java.util.Enumeration emanatingEdges(edu.umich.visualsoar.graph.Vertex v)

depthFirstTraversal

public void depthFirstTraversal(edu.umich.visualsoar.util.PrePostVisitor visitor,
                                edu.umich.visualsoar.graph.Vertex start)

breadthFirstTraversal

public void breadthFirstTraversal(edu.umich.visualsoar.util.Visitor visitor,
                                  edu.umich.visualsoar.graph.Vertex start)

Java 2 Platform
v1.3