# AggregateFunction.AggregateFunctionWithParameter (ARX GUI Documentation)

org.deidentifier.arx.aggregates

## Class AggregateFunction.AggregateFunctionWithParameter<T>

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

- Type Parameters:
    `T` -
  All Implemented Interfaces:
    java.io.Serializable
  Direct Known Subclasses:
    AggregateFunction.GenericCommonPrefix, AggregateFunction.GenericConstant, AggregateFunction.GenericSetOfPrefixes
  Enclosing class:
    AggregateFunction<T>

      public abstract static class AggregateFunction.AggregateFunctionWithParameter<T>
      extends AggregateFunction<T>

  An aggregate function that has a parameter.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.deidentifier.arx.aggregates.AggregateFunction

      `AggregateFunction.AggregateFunctionBuilder<T>, AggregateFunction.AggregateFunctionWithParameter<T>, AggregateFunction.GenericArithmeticMean<T>, AggregateFunction.GenericArithmeticMeanOfBounds<T>, AggregateFunction.GenericBounds<T>, AggregateFunction.GenericCommonPrefix<T>, AggregateFunction.GenericConstant<T>, AggregateFunction.GenericGeometricMean<T>, AggregateFunction.GenericGeometricMeanOfBounds<T>, AggregateFunction.GenericInterval<T>, AggregateFunction.GenericSet<T>, AggregateFunction.GenericSetOfPrefixes<T>`

  - ### Field Summary

    - ### Fields inherited from class org.deidentifier.arx.aggregates.AggregateFunction

      `type`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AggregateFunction.AggregateFunctionWithParameter(DataType<T> type)` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `acceptsParameter(java.lang.String parameter)` Returns whether the function accepts this parameter.
    `abstract java.lang.String` | `getParameter()` Returns the parameter.
    `abstract AggregateFunction.AggregateFunctionWithParameter<T>` | `newInstance(java.lang.String parameter)` Creates a new instance with the given parameter.

    - ### Methods inherited from class org.deidentifier.arx.aggregates.AggregateFunction

      `aggregate, forType, hasParameter, toLabel, toString`

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

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

- - ### Constructor Detail

    - #### AggregateFunction.AggregateFunctionWithParameter

          protected AggregateFunction.AggregateFunctionWithParameter(DataType<T> type)

      Creates a new instance.
      Parameters:
        `type` -

  - ### Method Detail

    - #### acceptsParameter

          public abstract boolean acceptsParameter(java.lang.String parameter)

      Returns whether the function accepts this parameter.
      Parameters:
        `parameter` -
      Returns:

    - #### getParameter

          public abstract java.lang.String getParameter()

      Returns the parameter.
      Returns:

    - #### newInstance

          public abstract AggregateFunction.AggregateFunctionWithParameter<T> newInstance(java.lang.String parameter)

      Creates a new instance with the given parameter.
      Parameters:
        `parameter` -
      Returns: