Class DictionaryBuildingGroupByColumnSelectorStrategy<DimensionType>

  • All Implemented Interfaces:
    ColumnSelectorStrategy, GroupByColumnSelectorStrategy

    @NotThreadSafe
    public class DictionaryBuildingGroupByColumnSelectorStrategy<DimensionType>
    extends Object
    Strategy for grouping dimensions which can have variable-width objects, and aren't backed by prebuilt dictionaries. It encapsulates the dictionary building logic, along with providing the implementations for dimension to dictionary id encoding-decoding.

    This strategy can handle any dimension that can be addressed on a reverse-dictionary. Reverse dictionary uses a sorted map, rather than a hashmap.

    This is the most expensive of all the strategies, and hence must be used only when other strategies aren't valid.