Package org.apache.druid.query.dimension
Class ListFilteredDimensionSpec
- java.lang.Object
-
- org.apache.druid.query.dimension.BaseFilteredDimensionSpec
-
- org.apache.druid.query.dimension.ListFilteredDimensionSpec
-
- All Implemented Interfaces:
Cacheable
,DimensionSpec
public class ListFilteredDimensionSpec extends BaseFilteredDimensionSpec
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ListFilteredDimensionSpec.IndexedGetter<T>
-
Field Summary
-
Fields inherited from class org.apache.druid.query.dimension.BaseFilteredDimensionSpec
delegate
-
-
Constructor Summary
Constructors Constructor Description ListFilteredDimensionSpec(DimensionSpec delegate, Set<String> values, Boolean isWhitelist)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IdMapping
buildAllowListIdMapping(Set<String> values, int cardinality, IdLookup idLookup, ListFilteredDimensionSpec.IndexedGetter<String> fn)
static IdMapping
buildDenyListIdMapping(Set<String> values, int cardinality, ListFilteredDimensionSpec.IndexedGetter<String> fn)
DimensionSelector
decorate(DimensionSelector selector)
Decorate aDimensionSelector
, allowing custom transformation of underlying behavior (e.g.boolean
equals(Object o)
static DimensionSelector
filterAllowList(Set<String> values, DimensionSelector selector, boolean forcePredicateFilter)
static DimensionSelector
filterDenyList(Set<String> values, DimensionSelector selector, boolean forcePredicateFilter)
byte[]
getCacheKey()
Get a byte array used as a cache key.Set<String>
getValues()
int
hashCode()
boolean
isWhitelist()
String
toString()
DimensionSpec
withDimension(String newDimension)
Returns a copy of this DimensionSpec with the underlying dimension (the value ofDimensionSpec.getDimension()
) replaced by "newDimension".-
Methods inherited from class org.apache.druid.query.dimension.BaseFilteredDimensionSpec
getDelegate, getDimension, getExtractionFn, getOutputName, getOutputType, mustDecorate, preservesOrdering
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.druid.query.dimension.DimensionSpec
canVectorize, decorate, decorate
-
-
-
-
Constructor Detail
-
ListFilteredDimensionSpec
public ListFilteredDimensionSpec(DimensionSpec delegate, Set<String> values, Boolean isWhitelist)
-
-
Method Detail
-
isWhitelist
public boolean isWhitelist()
-
decorate
public DimensionSelector decorate(DimensionSelector selector)
Description copied from interface:DimensionSpec
Decorate aDimensionSelector
, allowing custom transformation of underlying behavior (e.g. performing extraction functions in the case ofExtractionDimensionSpec
, regex filtering in the case ofRegexFilteredDimensionSpec
, and so on).
-
buildAllowListIdMapping
public static IdMapping buildAllowListIdMapping(Set<String> values, int cardinality, @Nullable IdLookup idLookup, ListFilteredDimensionSpec.IndexedGetter<String> fn)
-
buildDenyListIdMapping
public static IdMapping buildDenyListIdMapping(Set<String> values, int cardinality, ListFilteredDimensionSpec.IndexedGetter<String> fn)
-
filterAllowList
public static DimensionSelector filterAllowList(Set<String> values, DimensionSelector selector, boolean forcePredicateFilter)
-
filterDenyList
public static DimensionSelector filterDenyList(Set<String> values, DimensionSelector selector, boolean forcePredicateFilter)
-
getCacheKey
public byte[] getCacheKey()
Description copied from interface:Cacheable
Get a byte array used as a cache key.- Returns:
- a cache key
-
withDimension
public DimensionSpec withDimension(String newDimension)
Description copied from interface:DimensionSpec
Returns a copy of this DimensionSpec with the underlying dimension (the value ofDimensionSpec.getDimension()
) replaced by "newDimension".
-
-