structure
Class GraphMatrixVertex

java.lang.Object
  |
  +--structure.Vertex
        |
        +--structure.GraphMatrixVertex

class GraphMatrixVertex
extends Vertex

A private implementation of a vertex for use in graphs that are internally represented as a Matrix. 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, Vertex

Field Summary
protected  int index
           
protected  java.lang.Object label
          A label associated with vertex.
protected  boolean visited
          Whether or not a vertex has been visited.
 
Constructor Summary
GraphMatrixVertex(java.lang.Object label, int idx)
           
 
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.
 int index()
           
 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

index

protected int index

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

GraphMatrixVertex

public GraphMatrixVertex(java.lang.Object label,
                         int idx)
Parameters:
label -
idx -
Method Detail

index

public int index()
Returns:

toString

public java.lang.String toString()
Description copied from class: Vertex
Construct a string representing vertex.

Overrides:
toString in class Vertex
Returns:

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.