Interface GroupingProvider

All Known Subinterfaces:
KeyRangeGroupingProvider
All Known Implementing Classes:
DiskBackedDeferredGroupingProvider, MemoizingGroupingProvider, PartitionColumnGroupingProvider, StaticGroupingProvider

public interface GroupingProvider
Implementations of this interface are able to compute groupings.
  • Method Details

    • makeGroupingProvider

      @NotNull static GroupingProvider makeGroupingProvider(@NotNull com.illumon.dataobjects.ColumnDefinition<?> columnDefinition, @NotNull ColumnSource<?> source, @NotNull com.fishlib.io.logger.Logger log)
      Make a new GroupingProvider for the specified ColumnDefinition and current global configuration.
      Parameters:
      columnDefinition - The column definition
      log - a logger
      Returns:
      A new GroupingProvider
    • getGroupingBuilder

      @NotNull GroupingBuilder getGroupingBuilder()
      Get a GroupingBuilder suitable for creating groups with specific properties.
      Returns:
      a GroupingBuilder
    • hasGrouping

      boolean hasGrouping()
      Check if this provider is able to create a grouping or not.
      Returns:
      true if this provider can create a grouping.