package com.revolsys.jdbc.io;
import java.util.Map;
import com.revolsys.collection.iterator.AbstractIterator;
import com.revolsys.record.Record;
import com.revolsys.record.query.Query;
import com.revolsys.record.schema.RecordStore;
import com.revolsys.util.function.Function3;
public class RecordStoreIteratorFactory {
private Function3<RecordStore, Query, Map<String, Object>, AbstractIterator<Record>> createFunction;
public RecordStoreIteratorFactory() {
}
public RecordStoreIteratorFactory(
final Function3<RecordStore, Query, Map<String, Object>, AbstractIterator<Record>> createFunction) {
this.createFunction = createFunction;
}
public AbstractIterator<Record> newIterator(final RecordStore recordStore, final Query query,
final Map<String, Object> properties) {
if (this.createFunction != null) {
return this.createFunction.apply(recordStore, query, properties);
} else {
throw new UnsupportedOperationException("Creating query iterators not supported");
}
}
}