package org.reldb.rel.v0.values;
public abstract class TupleIteration {
private long count = 0;
private TupleIterator iterator;
public TupleIteration(TupleIterator iterator) {
this.iterator = iterator;
}
public ValueTuple next() {
return iterator.next();
}
public boolean hasNext() {
return iterator.hasNext();
}
public void run() {
try {
initialise();
while (hasNext()) {
process(next());
count++;
}
} finally {
iterator.close();
}
}
public void initialise() {}
public long getCount() {
return count;
}
public abstract void process(ValueTuple tuple);
}