structure
Class Vertex

java.lang.Object
  |
  +--structure.Vertex
Direct Known Subclasses:
GraphListVertex, GraphMatrixVertex

class Vertex
extends java.lang.Object

A private implementation of a vertex for use in graphs. A vertex is capable of holding a label and has a flag that can be set to mark it as visited.

Typical Usage:

     Vertex v = new Vertex(someLabel);
     //...several graph related operations occur
     if(!v.isVisited()){
         Object label = v.label();
         v.visit();
     }
 

See Also:
GraphListVertex, GraphMatrixVertex

Field Summary
protected  java.lang.Object label
          A label associated with vertex.
protected  boolean visited
          Whether or not a vertex has been visited.
 
Constructor Summary
Vertex(java.lang.Object label)
          Construct a vertex with an associated label.
 
Method Summary
 boolean equals(java.lang.Object o)
          Returns true iff the labels of two vertices are equal.
 int hashCode()
          Return a hashcode associated with the vertex.
 boolean isVisited()
          Determine if the vertex has been visited.
 java.lang.Object label()
          Fetch the label associated with vertex.
 void reset()
          Clears the visited flag.
 java.lang.String toString()
          Construct a string representing vertex.
 boolean visit()
          Test and set the visited flag.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

label

protected java.lang.Object label
A label associated with vertex.


visited

protected boolean visited
Whether or not a vertex has been visited.

Constructor Detail

Vertex

public Vertex(java.lang.Object label)
Construct a vertex with an associated label.

Parameters:
label - A label to be associated with vertex.
Method Detail

label

public java.lang.Object label()
Fetch the label associated with vertex.

Returns:
The label associated with vertex.

visit

public boolean visit()
Test and set the visited flag.

Returns:
The value of the flag before marking

isVisited

public boolean isVisited()
Determine if the vertex has been visited.

Returns:
True iff the vertex has been visited.

reset

public void reset()
Clears the visited flag.


equals

public boolean equals(java.lang.Object o)
Returns true iff the labels of two vertices are equal.

Overrides:
equals in class java.lang.Object
Parameters:
o - Another vertex.
Returns:
True iff the vertex labels are equal.

hashCode

public int hashCode()
Return a hashcode associated with the vertex.

Overrides:
hashCode in class java.lang.Object
Returns:
An integer for use in hashing values into tables.

toString

public java.lang.String toString()
Construct a string representing vertex.

Overrides:
toString in class java.lang.Object
Returns:
A string representing vertex.