public Iterator vertexIterator() { return digraph.vertexIterator(); } public ArcIterator arcIterator() {
public Iterator vertexIterator() { return wrappedIteration.vertexIterator(); } public ArcIterator arcIterator() {
public Iterator vertexIterator() { return IteratorUtils.filteredIterator(digraph.vertexIterator(), acceptVertex); } public ArcIterator arcIterator() {
public static Digraph merge(Digraph destination,DigraphIteration graphToMerge) { for (Iterator i = graphToMerge.vertexIterator(); i.hasNext();) { destination.addVertex(i.next()); } for (ArcIterator i = graphToMerge.arcIterator(); i.hasNext();) { Object arc = i.next(); Object origin = i.getOrigin(); Object dst = i.getDestination(); destination.putArc(origin, dst, arc); } return destination; }
public static Digraph transform(Digraph result, DigraphIteration source, Transformer vertexTransform, Transformer arcTransform) { for (Iterator i = new TransformIterator(source.vertexIterator(), vertexTransform); i.hasNext();) { result.addVertex(i.next()); } for (ArcIterator i = new TransformArcIterator(source.arcIterator(), vertexTransform, arcTransform); i.hasNext();) { Object arc = i.next(); Object origin = i.getOrigin(); Object dst = i.getDestination(); result.putArc(origin, dst, arc); } return result; }
public StrongConnection(DigraphIteration digraph, CollectionFactory componentFactory) { this.digraph = digraph; this.componentFactory = componentFactory; filteredDigraph = new FilterIteration(digraph, new NotSeenPredicate(), GraphUtils.TRUE_PREDICATE); reverseDigraph = new FilterIteration(new ReversedIteration(digraph), reverseDFSFilter, GraphUtils.TRUE_PREDICATE); vertexIterator = filteredDigraph.vertexIterator(); runDirectDFS(); } public boolean hasNext() {
Set seen = new HashSet(); List cycles = new ArrayList(); Iterator vertexIterator = graph.vertexIterator();