# Uses of Class org.deidentifier.arx.framework.check.distribution.DistributionAggregateFunction (ARX Developer Documentation)

## Uses of Class
org.deidentifier.arx.framework.check.distribution.DistributionAggregateFunction

- Packages that use DistributionAggregateFunction
  Package | Description
  --- | ---
  org.deidentifier.arx | This package provides the public API for the ARX anonymization framework.
  org.deidentifier.arx.framework.check.distribution | This package implements means for efficiently maintaining distributions of values for each equivalence class
  org.deidentifier.arx.framework.check.groupify | This package implements different hash-groupify operators.
  org.deidentifier.arx.framework.data | This package implements data management, i.e., encoding and representing input data, output data and generalization hierarchies
  org.deidentifier.arx.metric.v2 |

- - ### Uses of DistributionAggregateFunction in org.deidentifier.arx

    Methods in org.deidentifier.arx that return DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `protected DistributionAggregateFunction` | AttributeType.MicroAggregationFunction.`getFunction()` Returns the aggregate function.

  - ### Uses of DistributionAggregateFunction in org.deidentifier.arx.framework.check.distribution

    Subclasses of DistributionAggregateFunction in org.deidentifier.arx.framework.check.distribution
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionArithmeticMean` This class calculates the arithmetic mean for a given distribution.
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionGeneralization` This class generalizes the given distribution.
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionGeometricMean` This class calculates the geometric mean for a given distribution.
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionInterval` This class calculates the mode for a given distribution.
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionMedian` This class calculates the median for a given distribution.
    `static class` | `DistributionAggregateFunction.DistributionAggregateFunctionMode` This class calculates the mode for a given distribution.

    Methods in org.deidentifier.arx.framework.check.distribution that return DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `abstract DistributionAggregateFunction` | DistributionAggregateFunction.`clone()` Clones this function

  - ### Uses of DistributionAggregateFunction in org.deidentifier.arx.framework.check.groupify

    Methods in org.deidentifier.arx.framework.check.groupify with parameters of type DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `Data` | HashGroupify.`performMicroaggregation(int[][] data, int start, int num, DistributionAggregateFunction[] functions, int[] map, java.lang.String[] header, Dictionary dictionary)` Microaggregates all according attributes

  - ### Uses of DistributionAggregateFunction in org.deidentifier.arx.framework.data

    Methods in org.deidentifier.arx.framework.data that return DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `DistributionAggregateFunction[]` | DataManager.`getMicroaggregationFunctions()` Returns the microaggregation functions.

    Constructors in org.deidentifier.arx.framework.data with parameters of type DistributionAggregateFunction
    Constructor and Description

    `DataManager(DataDefinition definition, Data dataAnalyzed, Data dataGeneralized, Data dataStatic, java.lang.String[] header, GeneralizationHierarchy[] hierarchiesGeneralized, int[] hierarchiesHeights, java.util.Map<java.lang.String,GeneralizationHierarchy> hierarchiesSensitive, java.util.Map<java.lang.String,java.lang.Integer> indexesSensitive, int[] maxLevels, DistributionAggregateFunction[] microaggregationFunctions, java.lang.String[] microaggregationHeader, int[] microaggregationMap, int[] microaggregationDomainSizes, int microaggregationNumAttributes, int microaggregationStartIndex, int[] minLevels, java.util.Map<java.lang.String,DataType<?>> dataTypesSensitive)`
    For creating a projected instance

    `DataManagerSubset(DataManager source, Data dataAnalyzed, Data dataGeneralized, Data dataStatic, java.lang.String[] header, GeneralizationHierarchy[] hierarchiesGeneralized, int[] hierarchiesHeights, java.util.Map<java.lang.String,GeneralizationHierarchy> hierarchiesSensitive, java.util.Map<java.lang.String,java.lang.Integer> indexesSensitive, int[] maxLevels, DistributionAggregateFunction[] microaggregationFunctions, java.lang.String[] microaggregationHeader, int[] microaggregationMap, int[] microaggregationDomainSizes, int microaggregationNumAttributes, int microaggregationStartIndex, int[] minLevels, java.util.Map<java.lang.String,DataType<?>> dataTypesSensitive)`
    Constructor

    Constructor parameters in org.deidentifier.arx.framework.data with type arguments of type DistributionAggregateFunction
    Constructor and Description
    `DataManager(java.lang.String[] header, int[][] data, Dictionary dictionary, DataDefinition definition, java.util.Set<PrivacyCriterion> criteria, java.util.Map<java.lang.String,DistributionAggregateFunction> functions)` Creates a new data manager from pre-encoded data.

  - ### Uses of DistributionAggregateFunction in org.deidentifier.arx.metric.v2

    Methods in org.deidentifier.arx.metric.v2 that return DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `protected DistributionAggregateFunction[]` | AbstractMetricMultiDimensional.`getAggregateFunctions()` Returns the aggregate functions used for microaggregation
    `protected DistributionAggregateFunction[]` | AbstractMetricSingleDimensional.`getMicroaggregationFunctions()` Needed for microaggregation
    `protected DistributionAggregateFunction[]` | AbstractMetricMultiDimensional.`getMicroaggregationFunctions()` Needed for microaggregation

    Methods in org.deidentifier.arx.metric.v2 with parameters of type DistributionAggregateFunction
    Modifier and Type | Method and Description
    --- | ---
    `static double` | MetricSDNMEntropyBasedInformationLoss.`getEntropyBasedInformationLoss(Transformation transformation, HashGroupifyEntry entry, DomainShare[] shares, DistributionAggregateFunction[] microaggregationFunctions, int microaggregationStartIndex, double maxIL)` Implements the entropy-based IL model.
    `protected double` | AbstractMetricMultiDimensional.`getError(DistributionAggregateFunction function, Distribution distribution)` Returns the error induced by aggregating values in the distribution