package mil.nga.giat.geowave.core.store.index.text; 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.filter.DistributableQueryFilter; import mil.nga.giat.geowave.core.store.index.FilterableConstraints; /** * A class based on FilterableConstraints that uses a text value for query * * @author geowave * */ public class TextQueryConstraint implements FilterableConstraints { private ByteArrayId fieldId; private String matchValue; private boolean caseSensitive; public TextQueryConstraint( final ByteArrayId fieldId, final String matchValue, final boolean caseSensitive ) { super(); this.fieldId = fieldId; this.matchValue = matchValue; this.caseSensitive = caseSensitive; } @Override public int getDimensionCount() { return 1; } @Override public boolean isEmpty() { return false; } @Override public ByteArrayId getFieldId() { return fieldId; } @Override public DistributableQueryFilter getFilter() { return new TextExactMatchFilter( fieldId, matchValue, caseSensitive); } public List<ByteArrayRange> getRange() { // TODO case sensitivity return Collections.singletonList(new ByteArrayRange( new ByteArrayId( matchValue), new ByteArrayId( matchValue))); } @Override public FilterableConstraints intersect( FilterableConstraints constaints ) { // TODO Auto-generated method stub return null; } @Override public FilterableConstraints union( FilterableConstraints constaints ) { // TODO Auto-generated method stub return null; } }