org._3pq.jgrapht.generate
Class LinearGraphGenerator

java.lang.Object
  extended byorg._3pq.jgrapht.generate.LinearGraphGenerator
All Implemented Interfaces:
GraphGenerator

public class LinearGraphGenerator
extends java.lang.Object
implements GraphGenerator

Generates a linear graph of any size. For a directed graph, the edges are oriented from START_VERTEX to END_VERTEX.

Since:
Sep 16, 2003
Author:
John V. Sichi

Field Summary
static java.lang.String END_VERTEX
          Role for the last vertex generated.
static java.lang.String START_VERTEX
          Role for the first vertex generated.
 
Constructor Summary
LinearGraphGenerator(int size)
          Construct a new LinearGraphGenerator.
 
Method Summary
 void generateGraph(Graph target, VertexFactory vertexFactory, java.util.Map resultMap)
          Generate a graph structure. The topology of the generated graph is dependent on the implementation. For graphs in which not all vertices share the same automorphism equivalence class, the generator may produce a labeling indicating the roles played by generated elements. This is the purpose of the resultMap parameter. For example, a generator for a wheel graph would designate a hub vertex. Role names used as keys in resultMap should be declared as public static final Strings by implementation classes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

START_VERTEX

public static final java.lang.String START_VERTEX
Role for the first vertex generated.

See Also:
Constant Field Values

END_VERTEX

public static final java.lang.String END_VERTEX
Role for the last vertex generated.

See Also:
Constant Field Values
Constructor Detail

LinearGraphGenerator

public LinearGraphGenerator(int size)
Construct a new LinearGraphGenerator.

Parameters:
size - number of vertices to be generated
Throws:
java.lang.IllegalArgumentException - if the specified size is negative.
Method Detail

generateGraph

public void generateGraph(Graph target,
                          VertexFactory vertexFactory,
                          java.util.Map resultMap)
Generate a graph structure. The topology of the generated graph is dependent on the implementation. For graphs in which not all vertices share the same automorphism equivalence class, the generator may produce a labeling indicating the roles played by generated elements. This is the purpose of the resultMap parameter. For example, a generator for a wheel graph would designate a hub vertex. Role names used as keys in resultMap should be declared as public static final Strings by implementation classes.

Specified by:
generateGraph in interface GraphGenerator
Parameters:
target - receives the generated edges and vertices; if this is non-empty on entry, the result will be a disconnected graph since generated elements will not be connected to existing elements
vertexFactory - called to produce new vertices
resultMap - if non-null, receives implementation-specific mappings from String roles to graph elements (or collections of graph elements)