package mil.nga.giat.geowave.datastore.hbase.query; import java.util.ArrayList; 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.callback.ScanCallback; import mil.nga.giat.geowave.core.store.index.PrimaryIndex; /** * Represents a query operation using an HBase row prefix. * */ public class HBaseRowPrefixQuery<T> extends AbstractHBaseRowQuery<T> { final Integer limit; final ByteArrayId rowPrefix; public HBaseRowPrefixQuery( final PrimaryIndex index, final ByteArrayId rowPrefix, final ScanCallback<T> scanCallback, final Integer limit, final String[] authorizations ) { super( index, authorizations, scanCallback); this.limit = limit; this.rowPrefix = rowPrefix; } @Override protected Integer getScannerLimit() { return limit; } @Override protected List<ByteArrayRange> getRanges() { final List<ByteArrayRange> ranges = new ArrayList<ByteArrayRange>(); ranges.add(new ByteArrayRange( rowPrefix, rowPrefix, false)); return ranges; } }