package mil.nga.giat.geowave.core.store.query; import java.util.List; import mil.nga.giat.geowave.core.index.ByteArrayRange; import mil.nga.giat.geowave.core.index.Persistable; import mil.nga.giat.geowave.core.store.filter.DistributableQueryFilter; import mil.nga.giat.geowave.core.store.index.SecondaryIndex; /** * This interface fully describes a query and is persistable so that it can be * distributed if necessary (particularly useful for using a query as mapreduce * input) */ public interface DistributableQuery extends Query, Persistable { /** * Return a set of constraints to apply to the given secondary index. * * @param index * the index to extract constraints for * @return A collection of ranges over secondary index keys. */ public List<ByteArrayRange> getSecondaryIndexConstraints( SecondaryIndex<?> index ); public List<DistributableQueryFilter> getSecondaryQueryFilter( SecondaryIndex<?> index ); }