Interface AggViewBuilder

All Superinterfaces:
ViewFactory
All Known Implementing Classes:
AggViewBuilderImpl

public interface AggViewBuilder extends ViewFactory
A Builder to create an Aggregation view (see ViewFactory.addAggView(String, Table, Color, String...)).
  • Method Details

    • groupingColumns

      @NotNull @ScriptApi @NotNull AggViewBuilder groupingColumns(@NotNull @NotNull Collection<String> aggGroupingCols)
      Set the allowable set of grouping columns. These will be displayed to the user for customization.
      Parameters:
      aggGroupingCols - the allowable grouping columns.
      Returns:
      this AggViewBuilder
    • groupingColumns

      @NotNull @ScriptApi default @NotNull AggViewBuilder groupingColumns(@NotNull @NotNull String... aggGroupingCols)
      Set the allowable set of grouping columns. These will be displayed to the user for customization.
      Parameters:
      aggGroupingCols - the allowable grouping columns.
      Returns:
      this AggViewBuilder
    • aggColumns

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggColumns(@NotNull @NotNull Collection<String> aggCols)
      Defines columns which will be aggregated. Columns listed within this method will be aggregated using the default aggregation-type for each column's data type; (numeric to sum, date-time to max, all others to count)
      Parameters:
      aggCols - the columns which will be aggregated.
      Returns:
      this AggViewBuilder
    • aggColumns

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggColumns(@NotNull @NotNull String... aggCols)
      Defines columns which will be aggregated. Columns listed within this method will be aggregated using the default aggregation-type for each column's data type; (numeric to sum, date-time to max, all others to count)
      Parameters:
      aggCols - the columns which will be aggregated.
      Returns:
      this AggViewBuilder
    • agg

      @NotNull @ScriptApi default @NotNull AggViewBuilder agg(@NotNull @NotNull Collection<String> aggCols)
      Defines columns which will be aggregated. Columns listed within this method will be aggregated using the default aggregation-type for each column's data type; (numeric to sum, date-time to max, all others to count)
      Parameters:
      aggCols - the columns which will be aggregated.
      Returns:
      this AggViewBuilder
    • agg

      @NotNull @ScriptApi default @NotNull AggViewBuilder agg(@NotNull @NotNull String... aggCols)
      Defines columns which will be aggregated. Columns listed within this method will be aggregated using the default aggregation-type for each column's data type; (numeric to sum, date-time to max, all others to count)
      Parameters:
      aggCols - the columns which will be aggregated.
      Returns:
      this AggViewBuilder
    • agg

      @NotNull @ScriptApi @NotNull AggViewBuilder agg(@Nullable @Nullable AggType aggType, @NotNull @NotNull Collection<String> aggTypeCols)
      Defines aggregation-type for identified columns. In the case that multiple aggregation-types are desired for a single column, then a call to this builder-method for each aggregation-type will be required. Columns which have non-standard aggregation will have the resultant column-header identify the underlying column-name and agg-type, unless explicitly defined using "targetColumnName=aggregatingColumnName" notation.
      Parameters:
      aggType - the desired aggregation-type
      aggTypeCols - the column(s) which will have the aggregation-type applied
      Returns:
      this AggViewBuilder
    • agg

      @NotNull @ScriptApi default @NotNull AggViewBuilder agg(@Nullable @Nullable AggType aggType, @NotNull @NotNull String... aggTypeCols)
      Defines aggregation-type for identified columns. In the case that multiple aggregation-types are desired for a single column, then a call to this builder-method for each aggregation-type will be required. Columns which have non-standard aggregation will have the resultant column-header identify the underlying column-name and agg-type, unless explicitly defined using "targetColumnName=aggregatingColumnName" notation.
      Parameters:
      aggType - the desired aggregation-type
      aggTypeCols - the column(s) which will have the aggregation-type applied
      Returns:
      this AggViewBuilder
    • withTotals

      @NotNull @ScriptApi @NotNull AggViewBuilder withTotals(boolean includeTotals)
      Identifies if the view should include a totals row. This is 'true' by default.
      Parameters:
      includeTotals - if the view should include totals.
      Returns:
      this AggViewBuilder
    • aggColumnOrder

      @NotNull @ScriptApi @NotNull AggViewBuilder aggColumnOrder(@NotNull @NotNull Collection<String> aggFrontCols)
      Identifies columns which should be displayed toward the beginning of the resultant columns
      Parameters:
      aggFrontCols - column name(s) which should be shown near the beginning of the resultant columns
      Returns:
      this AggViewBuilder
    • aggColumnOrder

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggColumnOrder(@NotNull @NotNull String... aggFrontCols)
      Identifies columns which should be displayed toward the beginning of the resultant columns
      Parameters:
      aggFrontCols - column name(s) which should be shown near the beginning of the resultant columns
      Returns:
      this AggViewBuilder
    • aggSortAscending

      @NotNull @ScriptApi @NotNull AggViewBuilder aggSortAscending(@NotNull @NotNull Collection<String> aggSortCols)
      Identifies columns used for sort-ordering of the resultant table
      Parameters:
      aggSortCols - column name(s) which will identify the resultant sorting
      Returns:
      this AggViewBuilder
    • aggSortAscending

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggSortAscending(@NotNull @NotNull String... aggSortCols)
      Identifies columns used for sort-ordering of the resultant table
      Parameters:
      aggSortCols - column name(s) which will identify the resultant sorting
      Returns:
      this AggViewBuilder
    • aggSortDescending

      @NotNull @ScriptApi @NotNull AggViewBuilder aggSortDescending(@NotNull @NotNull Collection<String> aggSortCols)
      Identifies columns used for sort-ordering of the resultant table
      Parameters:
      aggSortCols - column name(s) which will identify the resultant sorting
      Returns:
      this AggViewBuilder
    • aggSortDescending

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggSortDescending(@NotNull @NotNull String... aggSortCols)
      Identifies columns used for sort-ordering of the resultant table
      Parameters:
      aggSortCols - column name(s) which will identify the resultant sorting
      Returns:
      this AggViewBuilder
    • aggFormatColumns

      @NotNull @ScriptApi @NotNull AggViewBuilder aggFormatColumns(@NotNull @NotNull Collection<String> aggFormatCols)
      Defines a number of column-level formats which will be applied to the resultant table. The formatting is identical to that defined by Table.formatColumns(String...)
      Parameters:
      aggFormatCols - Columnar formatting to be applied to the resultant table
      Returns:
      this AggViewBuilder
    • aggFormatColumns

      @NotNull @ScriptApi default @NotNull AggViewBuilder aggFormatColumns(@NotNull @NotNull String... aggFormatCols)
      Defines a number of column-level formats which will be applied to the resultant table. The formatting is identical to that defined by Table.formatColumns(String...)
      Parameters:
      aggFormatCols - Columnar formatting to be applied to the resultant table
      Returns:
      this AggViewBuilder
    • aggFormatColumnWhere

      @NotNull @ScriptApi @NotNull AggViewBuilder aggFormatColumnWhere(@NotNull @NotNull String aggFormatCol, @NotNull @NotNull String aggFormatCondition, @Nullable @Nullable String aggFormatColor)
      Defines a conditional columnar format. See Table.formatColumnWhere(String, String, String)
      Parameters:
      aggFormatCol - the columns which will have conditional formatting applied
      aggFormatCondition - the condition used to identify if the color should be applied
      aggFormatColor - the color to conditionally apply
      Returns:
      this AggViewBuilder
    • collapseSideView

      @NotNull @ScriptApi default @NotNull AggViewBuilder collapseSideView()
      Identifies that the side-panel for this view should start collapsed
      Returns:
      this AggViewBuilder
    • collapseSideView

      @NotNull @ScriptApi @NotNull AggViewBuilder collapseSideView(boolean startCollapsed)
      Identifies if the side-panel for this view should start collapsed
      Returns:
      this AggViewBuilder
    • linkTo

      @NotNull @ScriptApi @NotNull AggViewBuilder linkTo(@NotNull @NotNull String linkTarget)
      Defines a directional link to another view-tab. By default, current "Group-By" column(s) on the current view will be used as filters on the linked view
      Parameters:
      linkTarget - a view-tab to which this table is linked
      Returns:
      this AggViewBuilder
    • linkFilterColumn

      @NotNull @ScriptApi @NotNull AggViewBuilder linkFilterColumn(@NotNull @NotNull Collection<String> linkColumns)
      Identifies column(s) used to filter on the linked view. When following a link from the specified column(s), then the default "Group-By" column(s) will not be used as filters on the linked view
      Parameters:
      linkColumns - a column in the existing view, which will be used as a filter on the linked view
      Returns:
      this AggViewBuilder
    • linkFilterColumn

      @NotNull @ScriptApi default @NotNull AggViewBuilder linkFilterColumn(@NotNull @NotNull String... linkColumns)
      Identifies column(s) used to filter on the linked view. When following a link from the specified column(s), then the default "Group-By" column(s) will not be used as filters on the linked view
      Parameters:
      linkColumns - a column in the existing view, which will be used as a filter on the linked view
      Returns:
      this AggViewBuilder