Package org.apache.druid.query.filter
Class BoundDimFilter
- java.lang.Object
-
- org.apache.druid.query.filter.AbstractOptimizableDimFilter
-
- org.apache.druid.query.filter.BoundDimFilter
-
public class BoundDimFilter extends AbstractOptimizableDimFilter implements DimFilter
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.query.filter.DimFilter
DimFilter.DimFilterToStringBuilder
-
-
Constructor Summary
Constructors Constructor Description BoundDimFilter(String dimension, String lower, String upper, Boolean lowerStrict, Boolean upperStrict, Boolean alphaNumeric, ExtractionFn extractionFn, StringComparator ordering)
BoundDimFilter(String dimension, String lower, String upper, Boolean lowerStrict, Boolean upperStrict, Boolean alphaNumeric, ExtractionFn extractionFn, StringComparator ordering, FilterTuning filterTuning)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
byte[]
getCacheKey()
Get a byte array used as a cache key.String
getDimension()
com.google.common.collect.RangeSet<String>
getDimensionRangeSet(String dimension)
Returns a RangeSet that represents the possible range of the input dimension for this DimFilter.This is applicable to filters that use dimensions such as select, in, bound, and logical filters such as and, or, not.com.google.common.base.Supplier<DruidDoublePredicate>
getDoublePredicateSupplier()
ExtractionFn
getExtractionFn()
FilterTuning
getFilterTuning()
com.google.common.base.Supplier<DruidFloatPredicate>
getFloatPredicateSupplier()
com.google.common.base.Supplier<DruidLongPredicate>
getLongPredicateSupplier()
String
getLower()
StringComparator
getOrdering()
Set<String>
getRequiredColumns()
String
getUpper()
int
hashCode()
boolean
hasLowerBound()
boolean
hasUpperBound()
boolean
isLowerStrict()
boolean
isUpperStrict()
DimFilter
optimize()
Filter
toFilter()
Returns a Filter that implements this DimFilter.String
toString()
-
Methods inherited from class org.apache.druid.query.filter.AbstractOptimizableDimFilter
toOptimizedFilter
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.druid.query.filter.DimFilter
toOptimizedFilter
-
-
-
-
Constructor Detail
-
BoundDimFilter
public BoundDimFilter(String dimension, @Nullable String lower, @Nullable String upper, @Nullable Boolean lowerStrict, @Nullable Boolean upperStrict, @Deprecated @Nullable Boolean alphaNumeric, @Nullable ExtractionFn extractionFn, @Nullable StringComparator ordering, @Nullable FilterTuning filterTuning)
-
-
Method Detail
-
getDimension
public String getDimension()
-
isLowerStrict
public boolean isLowerStrict()
-
isUpperStrict
public boolean isUpperStrict()
-
hasLowerBound
public boolean hasLowerBound()
-
hasUpperBound
public boolean hasUpperBound()
-
getExtractionFn
@Nullable public ExtractionFn getExtractionFn()
-
getOrdering
public StringComparator getOrdering()
-
getFilterTuning
@Nullable public FilterTuning getFilterTuning()
-
getLongPredicateSupplier
public com.google.common.base.Supplier<DruidLongPredicate> getLongPredicateSupplier()
-
getFloatPredicateSupplier
public com.google.common.base.Supplier<DruidFloatPredicate> getFloatPredicateSupplier()
-
getDoublePredicateSupplier
public com.google.common.base.Supplier<DruidDoublePredicate> getDoublePredicateSupplier()
-
getCacheKey
public byte[] getCacheKey()
Description copied from interface:Cacheable
Get a byte array used as a cache key.- Specified by:
getCacheKey
in interfaceCacheable
- Returns:
- a cache key
-
optimize
public DimFilter optimize()
-
toFilter
public Filter toFilter()
Description copied from interface:DimFilter
Returns a Filter that implements this DimFilter. This does not generally involve optimizing the DimFilter, so it does make sense to optimize first and then call toFilter on the resulting DimFilter.
-
getDimensionRangeSet
public com.google.common.collect.RangeSet<String> getDimensionRangeSet(String dimension)
Description copied from interface:DimFilter
Returns a RangeSet that represents the possible range of the input dimension for this DimFilter.This is applicable to filters that use dimensions such as select, in, bound, and logical filters such as and, or, not. Null represents that the range cannot be determined, and will be returned for filters such as javascript and regex where there's no easy way to determine the filtered range. It is treated the same way as an all range in most cases, however there are some subtle difference at logical filters such as not filter, where complement of all is nothing while complement of null is still null.- Specified by:
getDimensionRangeSet
in interfaceDimFilter
- Parameters:
dimension
- name of the dimension to get range for- Returns:
- a RangeSet that represent the possible range of the input dimension, or null if it is not possible to determine for this DimFilter.
-
getRequiredColumns
public Set<String> getRequiredColumns()
- Specified by:
getRequiredColumns
in interfaceDimFilter
- Returns:
- a HashSet that represents all columns' name which the DimFilter required to do filter.
-
-