Class GroupByColumnSelectorStrategyFactory
java.lang.Object
org.apache.druid.query.groupby.epinephelinae.GroupByColumnSelectorStrategyFactory
- All Implemented Interfaces:
ColumnSelectorStrategyFactory<GroupByColumnSelectorStrategy>
public class GroupByColumnSelectorStrategyFactory
extends Object
implements ColumnSelectorStrategyFactory<GroupByColumnSelectorStrategy>
Creates
ColumnSelectorStrategys for grouping dimensions
If the type is STRING, then it delegates the group by handling to KeyMappingMultiValueGroupByColumnSelectorStrategy
which is specialized for DimensionSelectors and multi-value dimensions.
If the type is numeric, then it delegates the handling to the FixedWidthGroupByColumnSelectorStrategy
Else, it delegates the handling to DictionaryBuildingGroupByColumnSelectorStrategy which is a generic strategy
and builds dictionaries on the fly.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionmakeColumnSelectorStrategy(ColumnCapabilities capabilities, ColumnValueSelector selector, String dimension) booleanWhether the strategy supports complex types.
-
Constructor Details
-
GroupByColumnSelectorStrategyFactory
public GroupByColumnSelectorStrategyFactory()
-
-
Method Details
-
makeColumnSelectorStrategy
public GroupByColumnSelectorStrategy makeColumnSelectorStrategy(ColumnCapabilities capabilities, ColumnValueSelector selector, String dimension) - Specified by:
makeColumnSelectorStrategyin interfaceColumnSelectorStrategyFactory<GroupByColumnSelectorStrategy>
-
supportsComplexTypes
public boolean supportsComplexTypes()Description copied from interface:ColumnSelectorStrategyFactoryWhether the strategy supports complex types. If a strategy doesn't support the complex types, they can either throw an unsupported exception or treat them like strings.- Specified by:
supportsComplexTypesin interfaceColumnSelectorStrategyFactory<GroupByColumnSelectorStrategy>
-