public abstract class ConjunctionDruidFilterBuilder extends Object implements DruidFilterBuilder
Constructor and Description |
---|
ConjunctionDruidFilterBuilder() |
Modifier and Type | Method and Description |
---|---|
protected abstract Filter |
buildDimensionFilter(Dimension dimension,
Set<ApiFilter> filters)
Take the conjunction of all the filters on a single dimension.
|
Filter |
buildFilters(Map<Dimension,Set<ApiFilter>> filterMap)
Combines the filters for a set of dimensions into a single Druid filter.
|
protected List<Filter> |
buildSelectorFilters(Dimension dimension,
Set<DimensionRow> rows)
Builds a list of Druid selector or extraction filters.
|
protected Set<DimensionRow> |
getFilteredDimensionRows(Dimension dimension,
Set<ApiFilter> filters)
Resolves a set of ApiFilters into a list of dimension rows that need to be filtered in Druid.
|
public Filter buildFilters(Map<Dimension,Set<ApiFilter>> filterMap) throws DimensionRowNotFoundException
DruidFilterBuilder
buildFilters
in interface DruidFilterBuilder
filterMap
- The map of filters per dimensionDimensionRowNotFoundException
- if filtering on a dimension that does not have dimension rowsprotected abstract Filter buildDimensionFilter(Dimension dimension, Set<ApiFilter> filters) throws DimensionRowNotFoundException
dimension
- Dimension for the filtersfilters
- All filters belonging to that dimensionDimensionRowNotFoundException
- if we attempt to filter a dimension without dimension rowsprotected Set<DimensionRow> getFilteredDimensionRows(Dimension dimension, Set<ApiFilter> filters) throws DimensionRowNotFoundException
dimension
- The dimension being filteredfilters
- The filters being applied to the dimension
DimensionRowNotFoundException
- if the filters filter out all dimension rowsprotected List<Filter> buildSelectorFilters(Dimension dimension, Set<DimensionRow> rows)
dimension
- The dimension to build the list of Druid selector filters fromrows
- The set of dimension rows that need selector filters built aroundCopyright © 2016–2018 Yahoo! Inc.. All rights reserved.