Package org.apache.openjpa.lib.graph
Class Graph
- java.lang.Object
-
- 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
Constructors Constructor Description Graph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEdge(Edge edge)Add an edge to the graph.voidaddNode(Object node)Add a node to the graph.voidclear()Clear the graph.voidclearTraversal()Clear all nodes and edges of the bookkeeping information from their last traversal.booleancontainsNode(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.booleanremoveEdge(Edge edge)Remove an edge from the graph.booleanremoveNode(Object node)Remove a node from the 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.
-
-