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>
CreatesColumnSelectorStrategys for grouping dimensions If the type is STRING, then it delegates the group by handling toKeyMappingMultiValueGroupByColumnSelectorStrategywhich is specialized forDimensionSelectors and multi-value dimensions. If the type is numeric, then it delegates the handling to theFixedWidthGroupByColumnSelectorStrategyElse, it delegates the handling toDictionaryBuildingGroupByColumnSelectorStrategywhich is a generic strategy and builds dictionaries on the fly.
-
-
Constructor Summary
Constructors Constructor Description GroupByColumnSelectorStrategyFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GroupByColumnSelectorStrategymakeColumnSelectorStrategy(ColumnCapabilities capabilities, ColumnValueSelector selector, String dimension)booleansupportsComplexTypes()Whether the strategy supports complex types.
-
-
-
Method Detail
-
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>
-
-