# AggregateFunction.AggregateFunctionBuilder (ARX Developer Documentation)

org.deidentifier.arx.aggregates

## Class AggregateFunction.AggregateFunctionBuilder<T>

- java.lang.Object
- - org.deidentifier.arx.aggregates.AggregateFunction.AggregateFunctionBuilder<T>

- Type Parameters:
    `T` -
  Enclosing class:
    AggregateFunction<T>

      public static class AggregateFunction.AggregateFunctionBuilder<T>
      extends java.lang.Object

  A builder for aggregate functions.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AggregateFunction<T>` | `createArithmeticMeanFunction()` An aggregate function that returns a the arithmetic mean, if it can be computed, NULL otherwise.
    `AggregateFunction<T>` | `createArithmeticMeanOfBoundsFunction()` An aggregate function that returns a the arithmetic mean of min & max, if it can be computed, NULL otherwise.
    `AggregateFunction<T>` | `createBoundsFunction()` An aggregate function that returns an interval consisting of the first and the last element following the predefined order.
    `AggregateFunction<T>` | `createConstantFunction(java.lang.String value)` An aggregate function that returns a constant value.
    `AggregateFunction<T>` | `createGeometricMeanFunction()` An aggregate function that returns a the geometric mean, if it can be computed, NULL otherwise.
    `AggregateFunction<T>` | `createGeometricMeanOfBoundsFunction()` An aggregate function that returns a the geometric mean of min & max, if it can be computed, NULL otherwise.
    `AggregateFunction<T>` | `createIntervalFunction()` An aggregate function that returns an interval [min, max].
    `AggregateFunction<T>` | `createIntervalFunction(boolean lowerIncluded, boolean upperIncluded)` An aggregate function that returns an interval [min, max].
    `AggregateFunction<T>` | `createPrefixFunction()` An aggregate function that returns a common prefix.
    `AggregateFunction<T>` | `createPrefixFunction(java.lang.Character redaction)` An aggregate function that returns a common prefix.
    `AggregateFunction<T>` | `createSetFunction()` An aggregate function that returns a set of all data values .
    `AggregateFunction<T>` | `createSetOfPrefixesFunction()` An aggregate function that returns a set of the prefixes of the data values.
    `AggregateFunction<T>` | `createSetOfPrefixesFunction(int length)` An aggregate function that returns a set of the prefixes of the data values.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### createArithmeticMeanFunction

          public final AggregateFunction<T> createArithmeticMeanFunction()

      An aggregate function that returns a the arithmetic mean, if it can be computed, NULL otherwise.
      Returns:

    - #### createArithmeticMeanOfBoundsFunction

          public final AggregateFunction<T> createArithmeticMeanOfBoundsFunction()

      An aggregate function that returns a the arithmetic mean of min & max, if it can be computed, NULL otherwise.
      Returns:

    - #### createBoundsFunction

          public final AggregateFunction<T> createBoundsFunction()

      An aggregate function that returns an interval consisting of the first and the last element following the predefined order.
      Returns:

    - #### createConstantFunction

          public final AggregateFunction<T> createConstantFunction(java.lang.String value)

      An aggregate function that returns a constant value.
      Parameters:
        `value` -
      Returns:

    - #### createGeometricMeanFunction

          public final AggregateFunction<T> createGeometricMeanFunction()

      An aggregate function that returns a the geometric mean, if it can be computed, NULL otherwise.
      Returns:

    - #### createGeometricMeanOfBoundsFunction

          public final AggregateFunction<T> createGeometricMeanOfBoundsFunction()

      An aggregate function that returns a the geometric mean of min & max, if it can be computed, NULL otherwise.
      Returns:

    - #### createIntervalFunction

          public final AggregateFunction<T> createIntervalFunction()

      An aggregate function that returns an interval [min, max].
      Returns:

    - #### createIntervalFunction

          public final AggregateFunction<T> createIntervalFunction(boolean lowerIncluded,
                                                    boolean upperIncluded)

      An aggregate function that returns an interval [min, max].
      Parameters:
        `lowerIncluded` -
        `upperIncluded` -
      Returns:

    - #### createPrefixFunction

          public final AggregateFunction<T> createPrefixFunction()

      An aggregate function that returns a common prefix.
      Returns:

    - #### createPrefixFunction

          public final AggregateFunction<T> createPrefixFunction(java.lang.Character redaction)

      An aggregate function that returns a common prefix. The remaining characters will be redacted with the given character
      Parameters:
        `redaction` -
      Returns:

    - #### createSetFunction

          public final AggregateFunction<T> createSetFunction()

      An aggregate function that returns a set of all data values .
      Returns:

    - #### createSetOfPrefixesFunction

          public final AggregateFunction<T> createSetOfPrefixesFunction()

      An aggregate function that returns a set of the prefixes of the data values. Length is 1
      Returns:

    - #### createSetOfPrefixesFunction

          public final AggregateFunction<T> createSetOfPrefixesFunction(int length)

      An aggregate function that returns a set of the prefixes of the data values.
      Parameters:
        `length` -
      Returns: