- 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
-