org.apache.openjpa.lib.graph
Class Graph

java.lang.Object
  extended by org.apache.openjpa.lib.graph.Graph

public class Graph
extends Object

Graph representation using the adjacency list form. See the book 'Introduction to Algorithms' by Cormen, Leiserson, and Rivest.

Since:
1.0.0
Author:
Abe White

Constructor Summary
Graph()
           
 
Method Summary
 void addEdge(Edge edge)
          Add an edge to the graph.
 void addNode(Object node)
          Add a node to the graph.
 void clear()
          Clear the graph.
 void clearTraversal()
          Clear all nodes and edges of the bookkeeping information from their last traversal.
 boolean containsNode(Object node)
          Return true if the graph contains the given node.
 Collection<Edge> getEdges()
          Return all edges in the graph.
 Collection<Edge> getEdges(Object from, Object to)
          Return all the edges from one node to another.
 Collection<Edge> getEdgesFrom(Object node)
          Return all the edges from a particular node.
 Collection<Edge> getEdgesTo(Object node)
          Return all the edges to a particular node.
 Collection<Object> getNodes()
          Return a view of all nodes in the graph.
 boolean removeEdge(Edge edge)
          Remove an edge from the graph.
 boolean removeNode(Object node)
          Remove a node from the graph.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Graph

public Graph()
Method Detail

clear

public void clear()
Clear the graph.


containsNode

public boolean containsNode(Object node)
Return true if the graph contains the given node.


getNodes

public Collection<Object> getNodes()
Return a view of all nodes in the graph.


addNode

public void addNode(Object node)
Add a node to the graph. Adding a node a second time has no effect.


removeNode

public boolean removeNode(Object node)
Remove a node from the graph. All edges to and from the node will be cleared.

Returns:
true if the node was removed, false otherwise

getEdges

public Collection<Edge> getEdges()
Return all edges in the graph.


getEdgesFrom

public Collection<Edge> getEdgesFrom(Object node)
Return all the edges from a particular node.


getEdgesTo

public Collection<Edge> getEdgesTo(Object node)
Return all the edges to a particular node.


getEdges

public Collection<Edge> getEdges(Object from,
                                 Object to)
Return all the edges from one node to another.


addEdge

public void addEdge(Edge edge)
Add an edge to the graph.


removeEdge

public boolean removeEdge(Edge edge)
Remove an edge from the graph.

Returns:
true if the edge was removed, false if not in the graph

clearTraversal

public void clearTraversal()
Clear all nodes and edges of the bookkeeping information from their last traversal.



Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.