org.geotools.graph.structure.basic
Class BasicNode

java.lang.Object
  extended byorg.geotools.graph.structure.basic.BasicGraphable
      extended byorg.geotools.graph.structure.basic.BasicNode
All Implemented Interfaces:
Graphable, Node, java.io.Serializable
Direct Known Subclasses:
BasicXYNode

public class BasicNode
extends BasicGraphable
implements Node

Basic implementation of Node.

Author:
Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
See Also:
Serialized Form

Constructor Summary
BasicNode()
          Constructs a BasicNode.
 
Method Summary
 void add(Edge e)
          Adds an edge to the adjacency list of the node which is an underlying List implementation.
 int getDegree()
          Returns the degree of the node.
 Edge getEdge(Node other)
          Returns an edge in the adjacency list of the node that is adjacent to another specified node.
 java.util.List getEdges()
          Returns the edge adjacency list of the node.
 java.util.List getEdges(Node other)
          Returns a collection of edges in the adjacency list of the node that are adjacent to another specified node.
 java.util.Iterator getRelated()
          Returns all nodes that are incident with adjacent edges minus itself.
 void remove(Edge e)
          Removes an edge from the adjacency list of the node.
 
Methods inherited from class org.geotools.graph.structure.basic.BasicGraphable
getCount, getID, getObject, isVisited, setCount, setID, setObject, setVisited, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.geotools.graph.structure.Graphable
getCount, getID, getObject, isVisited, setCount, setID, setObject, setVisited
 

Constructor Detail

BasicNode

public BasicNode()
Constructs a BasicNode.

Method Detail

add

public void add(Edge e)
Adds an edge to the adjacency list of the node which is an underlying List implementation. No checking is done on the edge (duplication, looping...), it is simply added to the list.

Specified by:
add in interface Node
Parameters:
e - Adjacent edge to add.
See Also:
Node.add(Edge)

remove

public void remove(Edge e)
Description copied from interface: Node
Removes an edge from the adjacency list of the node.

Specified by:
remove in interface Node
Parameters:
e - Adjacent edge to remove.
See Also:
Node.remove(Edge)

getDegree

public int getDegree()
Description copied from interface: Node
Returns the degree of the node. The degree of a node is defined as the number of edges that are adjacent to the node.

Specified by:
getDegree in interface Node
Returns:
int Degree of node.
See Also:
Node.getDegree()

getEdge

public Edge getEdge(Node other)
Description copied from interface: Node
Returns an edge in the adjacency list of the node that is adjacent to another specified node.

Note: It is possible for two nodes to share multiple edges between them. In this case, getEdges(Node other) can be used to obtain a complete list.

Specified by:
getEdge in interface Node
Parameters:
other - The other node that the desired edge to return is adjacent to.
Returns:
The first edge that is found to be adjacent to the specified node.
See Also:
Node.getEdge(Node)

getEdges

public java.util.List getEdges(Node other)
Description copied from interface: Node
Returns a collection of edges in the adjacency list of the node that are adjacent to another specified node.

Specified by:
getEdges in interface Node
Parameters:
other - The other node that the desired edges to return are adjacent to.
Returns:
List of all edges that are found to be adjacent to the specified node.
See Also:
Node.getEdges(Node)

getEdges

public java.util.List getEdges()
Description copied from interface: Node
Returns the edge adjacency list of the node.

Specified by:
getEdges in interface Node
Returns:
A list containing all edges that are adjacent to the node.
See Also:
Node.getEdges()

getRelated

public java.util.Iterator getRelated()
Returns all nodes that are incident with adjacent edges minus itself. This iterator is generated by calculating an underlying collection upon each method call.

Specified by:
getRelated in interface Graphable
Returns:
Iterator An iterator over other components of the graph that are related to the component.
See Also:
Graphable.getRelated()


Copyright © GeoTools. All Rights Reserved.