org.geotools.graph.build
Interface GraphBuilder

All Known Implementing Classes:
BasicGraphBuilder

public interface GraphBuilder

Build the physical components of a Graph. The GraphBuilder manages the details of component creation, addition, and removal from the graph.

Graph components are created through calls to buildNode() and buildEdge(Node, Node), and then added to the graph through calls to addNode(Node), and addEdge(Edge).

The GraphBuilder class is the lower level of the graph construction process. The builder does not manage the entities being modelled by the graph components. This is done at a higher level by the GraphGenerator. class.

Author:
Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
See Also:
Graph, GraphGenerator

Method Summary
 void addEdge(Edge edge)
          Adds an edge to the graph.
 void addNode(Node node)
          Adds a node to the graph.
 Edge buildEdge(Node nodeA, Node nodeB)
          Builds a new edge for the graph.
 Node buildNode()
          Builds a new node for the graph.
 java.lang.Object clone(boolean deep)
          Returns a clone of the builder.
 Graph getGraph()
          Returns the graph being built.
 void importGraph(Graph g)
          Constructs a graph builder from a pre built graph.
 void removeEdge(Edge edge)
          Removes an edge from the graph.
 void removeEdges(java.util.Collection edges)
          Removes a collection of edges from the graph.
 void removeNode(Node node)
          Removes an node from the graph.
 void removeNodes(java.util.Collection nodes)
          Removes a collection of nodes from the graph.
 

Method Detail

getGraph

public Graph getGraph()
Returns the graph being built.

Returns:
Graph The graph being built.

buildNode

public Node buildNode()
Builds a new node for the graph. This method does not add the new node to the graph, this must be done with the addNode(Node) method.

Returns:
Node The newly built node.

buildEdge

public Edge buildEdge(Node nodeA,
                      Node nodeB)
Builds a new edge for the graph. This method does not add the new node to the graph, this must be done with the addEdge(Edge) method.

Parameters:
nodeA - Adjacent node to edge.
nodeB - Adjacent node to edge.
Returns:
Edge the newly built Edge.

addNode

public void addNode(Node node)
Adds a node to the graph.

Parameters:
node - Node to be added to graph.

addEdge

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

Parameters:
edge - Edge to be added to graph.

removeNode

public void removeNode(Node node)
Removes an node from the graph.

Parameters:
node - Node to be removed from graph.

removeNodes

public void removeNodes(java.util.Collection nodes)
Removes a collection of nodes from the graph.

Parameters:
nodes - A collection of nodes to be removed from the graph.

removeEdge

public void removeEdge(Edge edge)
Removes an edge from the graph.

Parameters:
edge - Edge to be removed from graph.

removeEdges

public void removeEdges(java.util.Collection edges)
Removes a collection of edges from the graph.

Parameters:
edges - Collection of edges to be removed from the graph.

clone

public java.lang.Object clone(boolean deep)
                       throws java.lang.Exception
Returns a clone of the builder. A deep clone copies the underlying graph structure, a non deep clone results in an empty builder

Parameters:
deep - Deep or non deep clone.
Returns:
A graph builder.
Throws:
java.lang.Exception

importGraph

public void importGraph(Graph g)
Constructs a graph builder from a pre built graph. The nodes and edges of the existing graph are imported into the builder. Relationships between nodes and edges are assummed to be preexistant.



Copyright © GeoTools. All Rights Reserved.