org._3pq.jgrapht.generate
Class WheelGraphGenerator

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

public class WheelGraphGenerator
extends java.lang.Object
implements GraphGenerator

Generates a wheel graph of any size. Reminding a bicycle wheel, a wheel graph has a hub vertex in the center and a rim of vertices around it that are connected to each other (as a ring). The rim vertices are also connected to the hub with edges that are called "spokes".

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

Field Summary
static java.lang.String HUB_VERTEX
          Role for the hub vertex.
 
Constructor Summary
WheelGraphGenerator(int size)
          Creates a new WheelGraphGenerator object.
WheelGraphGenerator(int size, boolean inwardSpokes)
          Construct a new WheelGraphGenerator.
 
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

HUB_VERTEX

public static final java.lang.String HUB_VERTEX
Role for the hub vertex.

See Also:
Constant Field Values
Constructor Detail

WheelGraphGenerator

public WheelGraphGenerator(int size)
Creates a new WheelGraphGenerator object. This constructor is more suitable for undirected graphs, where spokes' direction is meaningless. In the directed case, spokes will be oriented from rim to hub.

Parameters:
size - number of vertices to be generated.

WheelGraphGenerator

public WheelGraphGenerator(int size,
                           boolean inwardSpokes)
Construct a new WheelGraphGenerator.

Parameters:
size - number of vertices to be generated.
inwardSpokes - if true and graph is directed, spokes are oriented from rim to hub; else from hub to rim.
Throws:
java.lang.IllegalArgumentException
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)