1 25 42 package org.jgrapht.traverse; 43 44 import java.util.*; 45 46 import org.jgrapht.event.*; 47 48 49 56 public abstract class AbstractGraphIterator<V, E> 57 implements GraphIterator<V, E> 58 { 59 60 62 private List<TraversalListener<V, E>> traversalListeners = 63 new ArrayList<TraversalListener<V, E>>(); 64 private boolean crossComponentTraversal = true; 65 private boolean reuseEvents = false; 66 67 69 76 public void setCrossComponentTraversal(boolean crossComponentTraversal) 77 { 78 this.crossComponentTraversal = crossComponentTraversal; 79 } 80 81 88 public boolean isCrossComponentTraversal() 89 { 90 return crossComponentTraversal; 91 } 92 93 96 public void setReuseEvents(boolean reuseEvents) 97 { 98 this.reuseEvents = reuseEvents; 99 } 100 101 104 public boolean isReuseEvents() 105 { 106 return reuseEvents; 107 } 108 109 114 public void addTraversalListener(TraversalListener<V, E> l) 115 { 116 if (!traversalListeners.contains(l)) { 117 traversalListeners.add(l); 118 } 119 } 120 121 126 public void remove() 127 { 128 throw new UnsupportedOperationException (); 129 } 130 131 136 public void removeTraversalListener(TraversalListener<V, E> l) 137 { 138 traversalListeners.remove(l); 139 } 140 141 147 protected void fireConnectedComponentFinished( 148 ConnectedComponentTraversalEvent e) 149 { 150 int len = traversalListeners.size(); 151 152 for (int i = 0; i < len; i++) { 153 TraversalListener l = traversalListeners.get(i); 154 l.connectedComponentFinished(e); 155 } 156 } 157 158 164 protected void fireConnectedComponentStarted( 165 ConnectedComponentTraversalEvent e) 166 { 167 int len = traversalListeners.size(); 168 169 for (int i = 0; i < len; i++) { 170 TraversalListener l = traversalListeners.get(i); 171 l.connectedComponentStarted(e); 172 } 173 } 174 175 180 protected void fireEdgeTraversed(EdgeTraversalEvent<V, E> e) 181 { 182 int len = traversalListeners.size(); 183 184 for (int i = 0; i < len; i++) { 185 TraversalListener<V, E> l = traversalListeners.get(i); 186 l.edgeTraversed(e); 187 } 188 } 189 190 195 protected void fireVertexTraversed(VertexTraversalEvent<V> e) 196 { 197 int len = traversalListeners.size(); 198 199 for (int i = 0; i < len; i++) { 200 TraversalListener<V, E> l = traversalListeners.get(i); 201 l.vertexTraversed(e); 202 } 203 } 204 } 205
| Popular Tags
|