package com.tinkerpop.blueprints.util.wrappers.id;
import com.tinkerpop.blueprints.CloseableIterable;
import com.tinkerpop.blueprints.Edge;
import java.util.Iterator;
/**
* @author Joshua Shinavier (http://fortytwo.net)
*/
class IdEdgeIterable implements CloseableIterable<Edge> {
private final Iterable<Edge> iterable;
private final IdGraph idGraph;
public IdEdgeIterable(Iterable<Edge> iterable, final IdGraph idGraph) {
this.iterable = iterable;
this.idGraph = idGraph;
}
public void close() {
if (iterable instanceof CloseableIterable) {
((CloseableIterable) iterable).close();
}
}
public Iterator<Edge> iterator() {
return new Iterator<Edge>() {
final Iterator<Edge> itty = iterable.iterator();
public boolean hasNext() {
return itty.hasNext();
}
public Edge next() {
return new IdEdge(itty.next(), idGraph);
}
public void remove() {
itty.remove();
}
};
}
}