package mil.nga.giat.geowave.core.store.query; import java.util.ArrayList; import java.util.Collections; import java.util.List; import mil.nga.giat.geowave.core.index.ByteArrayId; import mil.nga.giat.geowave.core.index.NumericIndexStrategy; import mil.nga.giat.geowave.core.index.sfc.data.MultiDimensionalNumericData; import mil.nga.giat.geowave.core.store.filter.QueryFilter; import mil.nga.giat.geowave.core.store.filter.RowIdQueryFilter; import mil.nga.giat.geowave.core.store.index.CommonIndexModel; import mil.nga.giat.geowave.core.store.index.Index; public class RowIdQuery implements Query { private final List<ByteArrayId> rowIds; public RowIdQuery( final ByteArrayId rowId ) { rowIds = Collections.singletonList(rowId); } public RowIdQuery( final List<ByteArrayId> rowIds ) { this.rowIds = new ArrayList<ByteArrayId>( rowIds); } public List<ByteArrayId> getRowIds() { return rowIds; } @Override public List<QueryFilter> createFilters( final CommonIndexModel indexModel ) { final List<QueryFilter> filters = new ArrayList<QueryFilter>(); filters.add(new RowIdQueryFilter( rowIds)); return filters; } @Override public boolean isSupported( final Index index ) { return true; } @Override public List<MultiDimensionalNumericData> getIndexConstraints( final NumericIndexStrategy indexStrategy ) { return Collections.emptyList(); } }