package GPL; import java.util.Iterator; import java.util.LinkedList; // ********************************************************************* public class Vertex { public LinkedList neighbors; public String name; public Vertex( ) { VertexConstructor( ); } public void VertexConstructor( ) { name = null; neighbors = new LinkedList( ); } public Vertex assignName( String name ) { this.name = name; return ( Vertex ) this; } public String getName( ) { return this.name; } public LinkedList getNeighborsObj( ) { return neighbors; } public VertexIter getNeighbors( ) { return new VertexIter( ) { private Iterator iter = neighbors.iterator( ); public Vertex next( ) { return ( ( Neighbor )iter.next( ) ).end; } public boolean hasNext( ) { return iter.hasNext( ); } }; } public void display( ) { System.out.print( " Node " + name + " connected to: " ); for ( VertexIter vxiter = getNeighbors( ); vxiter.hasNext( ); ) { System.out.print( vxiter.next().getName() + ", " ); } System.out.println( ); } //-------------------- // differences //-------------------- public void addNeighbor( Neighbor n ) { neighbors.add( n ); } public EdgeIter getEdges( ) { return new EdgeIter( ) { private Iterator iter = neighbors.iterator( ); public EdgeIfc next( ) { return ( ( EdgeIfc ) ( ( Neighbor )iter.next( ) ).edge ); } public boolean hasNext( ) { return iter.hasNext( ); } }; } }