org.geotools.graph.structure.basic
Class BasicDirectedEdge

java.lang.Object
  extended byorg.geotools.graph.structure.basic.BasicGraphable
      extended byorg.geotools.graph.structure.basic.BasicDirectedEdge
All Implemented Interfaces:
DirectedEdge, DirectedGraphable, Edge, Graphable, java.io.Serializable

public class BasicDirectedEdge
extends BasicGraphable
implements DirectedEdge

Basic implementation of DirectedEdge.

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

Field Summary
 
Fields inherited from interface org.geotools.graph.structure.Edge
EQUAL_NODE_ORIENTATION, OPPOSITE_NODE_ORIENTATION, UNEQUAL_NODE_ORIENTATION
 
Constructor Summary
BasicDirectedEdge(DirectedNode in, DirectedNode out)
          Contstructs a new DirectedEdge.
 
Method Summary
 int compareNodes(Edge other)
          Compares the node orientation of the edge with another edge.
 DirectedNode getInNode()
          Returns the originating (in) node of the edge.
 java.util.Iterator getInRelated()
          Returns an iterator over the in edges of the in node.
 Node getNodeA()
          Returns the in node.
 Node getNodeB()
          Returns the out node.
 Node getOtherNode(Node node)
          Returns one of the two nodes of an edge.
 DirectedNode getOutNode()
          Returns the terminating (out) node of the edge.
 java.util.Iterator getOutRelated()
          Returns an iterator over the out edges of the out node.
 java.util.Iterator getRelated()
          Returns an iterator over all edges incident to both the in and out nodes.
 void reverse()
          Removes the edge from the out list of the in node and from the in list of the out 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

BasicDirectedEdge

public BasicDirectedEdge(DirectedNode in,
                         DirectedNode out)
Contstructs a new DirectedEdge.

Parameters:
in - The in node of the edge.
out - The out node of the edge.
Method Detail

getInNode

public DirectedNode getInNode()
Description copied from interface: DirectedEdge
Returns the originating (in) node of the edge.

Specified by:
getInNode in interface DirectedEdge
Returns:
The directed node at the source of the edge.
See Also:
DirectedEdge.getInNode()

getOutNode

public DirectedNode getOutNode()
Description copied from interface: DirectedEdge
Returns the terminating (out) node of the edge.

Specified by:
getOutNode in interface DirectedEdge
Returns:
The directed node at the destination of the edge.
See Also:
DirectedEdge.getOutNode()

getNodeA

public Node getNodeA()
Returns the in node.

Specified by:
getNodeA in interface Edge
Returns:
The A node.
See Also:
Edge.getNodeA()

getNodeB

public Node getNodeB()
Returns the out node.

Specified by:
getNodeB in interface Edge
Returns:
The B node.
See Also:
Edge.getNodeB()

getOtherNode

public Node getOtherNode(Node node)
Description copied from interface: Edge
Returns one of the two nodes of an edge. If the specified node is node A, then node B is returned, and vice versa.

Specified by:
getOtherNode in interface Edge
Parameters:
node - The node opposite of the node to return.
Returns:
Node A if node B is specified, node B if node A is specified.
See Also:
Edge.getOtherNode(Node)

reverse

public void reverse()
Removes the edge from the out list of the in node and from the in list of the out node. Nodes are switched and then the edge is added to the in list of the new out node, and to the out list of the new in node.

Specified by:
reverse in interface Edge
See Also:
Edge.reverse()

getRelated

public java.util.Iterator getRelated()
Returns an iterator over all edges incident to both the in and out nodes.

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()

getInRelated

public java.util.Iterator getInRelated()
Returns an iterator over the in edges of the in node.

Specified by:
getInRelated in interface DirectedGraphable
Returns:
An iterator over the other directed components related through an in relationship.
See Also:
DirectedGraphable.getInRelated()

getOutRelated

public java.util.Iterator getOutRelated()
Returns an iterator over the out edges of the out node.

Specified by:
getOutRelated in interface DirectedGraphable
Returns:
An iterator over the other directed components related through an out relationship.
See Also:
DirectedGraphable.getOutRelated()

compareNodes

public int compareNodes(Edge other)
Description copied from interface: Edge
Compares the node orientation of the edge with another edge.

Specified by:
compareNodes in interface Edge
Returns:
EQUAL_NODE_ORIENTATION : both nodes are equal in the correct order. UNEQUAL_NODE_ORIENTATION: both nodes are not equal OPPOSITE_NODE_ORIENTATION : both nodes are equal in opposite order.
See Also:
Edge.compareNodes(Edge)


Copyright © GeoTools. All Rights Reserved.