Interface Grouper.Factory<R,T>

Enclosing interface:
Grouper<R,T>

public static interface Grouper.Factory<R,T>
Is called to generate a new Grouper instance for every query against the target table.

To help query optimization, inverse mapping functions should be provided. They're defined as public static methods for each target column which can be mapped to a source column. The naming pattern must be <target_name>_to_<source_name>, and the method must be a pure function. The parameter type must exactly match the target column type, and the return type must exactly match the source column type. If the function doesn't transform the column value, then it should be annotated with @Untransformed.

  • Method Summary

    Modifier and Type
    Method
    Description
     
    default QueryPlan
    Override this method to customize the grouper's query plan.
    default String
    Returns a comma-separated list of source columns which are needed by the Grouper instances.
  • Method Details

    • newGrouper

      Grouper<R,T> newGrouper() throws IOException
      Throws:
      IOException
    • sourceProjection

      default String sourceProjection()
      Returns a comma-separated list of source columns which are needed by the Grouper instances. Null is returned by default, which indicates that all columns are needed. The implementation of this method must return a static constant.
    • plan

      default QueryPlan plan(QueryPlan.Grouper plan)
      Override this method to customize the grouper's query plan.
      Parameters:
      plan - original plan
      Returns:
      original or replacement plan