- Type Parameters:
V
- the graph vertex typeE
- the graph edge typeT
- type for returning implementation-specific mappings from String roles to graph elements
- All Known Implementing Classes:
BarabasiAlbertForestGenerator
,BarabasiAlbertGraphGenerator
,ComplementGraphGenerator
,CompleteBipartiteGraphGenerator
,CompleteGraphGenerator
,DirectedScaleFreeGraphGenerator
,EmptyGraphGenerator
,GeneralizedPetersenGraphGenerator
,GnmRandomBipartiteGraphGenerator
,GnmRandomGraphGenerator
,GnpRandomBipartiteGraphGenerator
,GnpRandomGraphGenerator
,GridGraphGenerator
,HyperCubeGraphGenerator
,KleinbergSmallWorldGraphGenerator
,LinearGraphGenerator
,LinearizedChordDiagramGraphGenerator
,PlantedPartitionGraphGenerator
,PruferTreeGenerator
,RandomRegularGraphGenerator
,RingGraphGenerator
,ScaleFreeGraphGenerator
,SimpleWeightedBipartiteGraphMatrixGenerator
,SimpleWeightedGraphMatrixGenerator
,StarGraphGenerator
,WattsStrogatzGraphGenerator
,WheelGraphGenerator
,WindmillGraphsGenerator
public interface GraphGenerator<V,E,T>
An interface for generating new graph structures.
- Author:
- John V. Sichi
-
Method Summary
-
Method Details
-
generateGraph
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.- 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 elementsresultMap
- if non-null, receives implementation-specific mappings from String roles to graph elements (or collections of graph elements)- Throws:
UnsupportedOperationException
- if the graph does not have appropriate vertex and edge suppliers, in order to be able to create new vertices and edges. MethodsGraph.getEdgeSupplier()
andGraph.getVertexSupplier()
must not returnnull
.
-
generateGraph
Generate a graph structure.- 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- Throws:
UnsupportedOperationException
- if the graph does not have appropriate vertex and edge suppliers, in order to be able to create new vertices and edges
-