1 25 40 package org.jgrapht.generate; 41 42 import java.util.*; 43 44 import org.jgrapht.*; 45 46 47 56 public class RingGraphGenerator<V, E> 57 implements GraphGenerator<V, E, V> 58 { 59 60 62 private int size; 63 64 66 73 public RingGraphGenerator(int size) 74 { 75 if (size < 0) { 76 throw new IllegalArgumentException ("must be non-negative"); 77 } 78 79 this.size = size; 80 } 81 82 84 87 public void generateGraph( 88 Graph<V, E> target, 89 VertexFactory<V> vertexFactory, 90 Map<String , V> resultMap) 91 { 92 if (size < 1) { 93 return; 94 } 95 96 LinearGraphGenerator<V, E> linearGenerator = 97 new LinearGraphGenerator<V, E>(size); 98 Map<String , V> privateMap = new HashMap<String , V>(); 99 linearGenerator.generateGraph(target, vertexFactory, privateMap); 100 101 V startVertex = privateMap.get(LinearGraphGenerator.START_VERTEX); 102 V endVertex = privateMap.get(LinearGraphGenerator.END_VERTEX); 103 target.addEdge(endVertex, startVertex); 104 } 105 } 106 | Popular Tags |