Class WeightedGraphGeneratorAdapter<V,​E,​T>

  • Type Parameters:
    V - the graph vertex type
    E - the graph edge type
    T - type for returning implementation-specific mappings from String roles to graph elements
    All Implemented Interfaces:
    GraphGenerator<V,​E,​T>
    Direct Known Subclasses:
    SimpleWeightedBipartiteGraphMatrixGenerator, SimpleWeightedGraphMatrixGenerator

    public abstract class WeightedGraphGeneratorAdapter<V,​E,​T>
    extends java.lang.Object
    implements GraphGenerator<V,​E,​T>
    An interface for generating graph structures having edges weighted with real values.
    Since:
    Aug 1, 2013
    • Field Detail

      • weights

        protected double[][] weights
    • Constructor Detail

      • WeightedGraphGeneratorAdapter

        public WeightedGraphGeneratorAdapter()
    • Method Detail

      • generateGraph

        public abstract void generateGraph​(WeightedGraph<V,​E> target,
                                           VertexFactory<V> vertexFactory,
                                           java.util.Map<java.lang.String,​T> resultMap)
        Generate a weighted 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 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)
      • weights

        public WeightedGraphGeneratorAdapter<V,​E,​T> weights​(double[][] weights)
        Set the weights of the generator.
        Parameters:
        weights - the weights
        Returns:
        the generator
      • generateGraph

        public void generateGraph​(Graph<V,​E> target,
                                  VertexFactory<V> vertexFactory,
                                  java.util.Map<java.lang.String,​T> 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<V,​E,​T>
        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)