package com.tinkerpop.blueprints.impls.neo4j.batch;
import com.tinkerpop.blueprints.CloseableIterable;
import com.tinkerpop.blueprints.Edge;
import org.neo4j.graphdb.index.IndexHits;
import java.util.Iterator;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
*/
class Neo4jBatchEdgeIterable implements CloseableIterable<Edge> {
private final IndexHits<Long> hits;
private final Neo4jBatchGraph graph;
public Neo4jBatchEdgeIterable(final Neo4jBatchGraph graph, final IndexHits<Long> hits) {
this.hits = hits;
this.graph = graph;
}
public Iterator<Edge> iterator() {
return new Iterator<Edge>() {
private final Iterator<Long> itty = hits.iterator();
public void remove() {
itty.remove();
}
public boolean hasNext() {
return hits.hasNext();
}
public Edge next() {
return new Neo4jBatchEdge(graph, itty.next(), null);
}
};
}
public void close() {
hits.close();
}
}