# Metric.AggregateFunction (ARX Developer Documentation)

org.deidentifier.arx.metric

## Enum Metric.AggregateFunction

- java.lang.Object
- - java.lang.Enum<Metric.AggregateFunction>
  - - org.deidentifier.arx.metric.Metric.AggregateFunction

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Metric.AggregateFunction>
  Enclosing class:
    Metric<T extends InformationLoss<?>>

      public static enum Metric.AggregateFunction
      extends java.lang.Enum<Metric.AggregateFunction>
      implements java.io.Serializable

  Pluggable aggregate functions.

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `ARITHMETIC_MEAN` Arithmetic mean
    `GEOMETRIC_MEAN` Geometric mean: To handle zero values while not violating guarantees required for pruning based on lower bounds, 1d is added to every individual value and 1d is subtracted from the final result.
    `MAXIMUM` Maximum
    `RANK` Rank: Ordered list of values, compared lexicographically.
    `SUM` Sum

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `toString()`
    `static Metric.AggregateFunction` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static Metric.AggregateFunction[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### SUM

          public static final Metric.AggregateFunction SUM

      Sum

    - #### MAXIMUM

          public static final Metric.AggregateFunction MAXIMUM

      Maximum

    - #### ARITHMETIC_MEAN

          public static final Metric.AggregateFunction ARITHMETIC_MEAN

      Arithmetic mean

    - #### GEOMETRIC_MEAN

          public static final Metric.AggregateFunction GEOMETRIC_MEAN

      Geometric mean: To handle zero values while not violating guarantees required for pruning based on lower bounds, 1d is added to every individual value and 1d is subtracted from the final result.

    - #### RANK

          public static final Metric.AggregateFunction RANK

      Rank: Ordered list of values, compared lexicographically.

  - ### Method Detail

    - #### values

          public static Metric.AggregateFunction[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (Metric.AggregateFunction c : Metric.AggregateFunction.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static Metric.AggregateFunction valueOf(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Enum<Metric.AggregateFunction>`