Interface GraphGenerator<V,E,T>
- 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.
-
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
-