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.DataIdQueryFilter;
import mil.nga.giat.geowave.core.store.filter.QueryFilter;
import mil.nga.giat.geowave.core.store.index.CommonIndexModel;
import mil.nga.giat.geowave.core.store.index.Index;
public class DataIdQuery implements
Query
{
private ByteArrayId adapterId;
private List<ByteArrayId> dataIds;
public DataIdQuery(
ByteArrayId adapterId,
ByteArrayId dataId ) {
this.adapterId = adapterId;
this.dataIds = Collections.singletonList(dataId);
}
public DataIdQuery(
ByteArrayId adapterId,
List<ByteArrayId> dataIds ) {
this.adapterId = adapterId;
this.dataIds = new ArrayList<ByteArrayId>(
dataIds);
}
public ByteArrayId getAdapterId() {
return adapterId;
}
public List<ByteArrayId> getDataIds() {
return dataIds;
}
@Override
public List<QueryFilter> createFilters(
CommonIndexModel indexModel ) {
List<QueryFilter> filters = new ArrayList<QueryFilter>();
filters.add(new DataIdQueryFilter(
adapterId,
dataIds));
return filters;
}
@Override
public boolean isSupported(
Index index ) {
return true;
}
@Override
public List<MultiDimensionalNumericData> getIndexConstraints(
final NumericIndexStrategy indexStrategy ) {
return Collections.emptyList();
}
}