package mil.nga.giat.geowave.datastore.hbase.query;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import mil.nga.giat.geowave.core.index.ByteArrayId;
import mil.nga.giat.geowave.core.index.ByteArrayRange;
import mil.nga.giat.geowave.core.store.adapter.DataAdapter;
import mil.nga.giat.geowave.core.store.callback.ScanCallback;
import mil.nga.giat.geowave.core.store.filter.DedupeFilter;
import mil.nga.giat.geowave.core.store.index.PrimaryIndex;
import mil.nga.giat.geowave.core.store.query.Query;
public class HBaseRowIdsQuery<T> extends
HBaseConstraintsQuery
{
final Collection<ByteArrayId> rows;
public HBaseRowIdsQuery(
final DataAdapter<T> adapter,
final PrimaryIndex index,
final Collection<ByteArrayId> rows,
final ScanCallback<T> scanCallback,
final DedupeFilter dedupFilter,
final String[] authorizations ) {
super(
Collections.<ByteArrayId> emptyList(),
index,
(Query) null,
dedupFilter,
scanCallback,
null,
null,
null,
null,
authorizations);
this.rows = rows;
}
@Override
protected List<ByteArrayRange> getRanges() {
final List<ByteArrayRange> ranges = new ArrayList<ByteArrayRange>();
for (final ByteArrayId row : rows) {
ranges.add(new ByteArrayRange(
row,
row,
true));
}
return ranges;
}
}