# Uses of Class org.deidentifier.arx.DataDefinition (ARX Developer Documentation)

## Uses of Class
org.deidentifier.arx.DataDefinition

- Packages that use DataDefinition
  Package | Description
  --- | ---
  org.deidentifier.arx | This package provides the public API for the ARX anonymization framework.
  org.deidentifier.arx.certificate |
  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 | This package implements several metrics for information loss.
  org.deidentifier.arx.metric.v2 |

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

    Fields in org.deidentifier.arx declared as DataDefinition
    Modifier and Type | Field and Description
    --- | ---
    `protected DataDefinition` | DataHandle.`definition` The data definition.

    Methods in org.deidentifier.arx that return DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `DataDefinition` | DataDefinition.`clone()`
    `DataDefinition` | DataHandle.`getDefinition()` Returns the data definition.
    `DataDefinition` | DataHandleInternal.`getDefinition()` Method
    `DataDefinition` | Data.`getDefinition()` Returns the data definition.

    Methods in org.deidentifier.arx with parameters of type DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected org.deidentifier.arx.ARXAnonymizer.Result` | ARXAnonymizer.`anonymize(DataManager manager, DataDefinition definition, ARXConfiguration config)` Reset a previous lattice and run the algorithm .
    `int` | DataGeneralizationScheme.`getGeneralizationLevel(java.lang.String attribute, DataDefinition definition)` Returns a generalization level as defined by this class
    `void` | DataDefinition.`read(DataDefinition other)` Reads all settings from the given definition
    `protected void` | DataHandleInput.`setDefinition(DataDefinition definition)` Overrides the handles data definition.

    Constructors in org.deidentifier.arx with parameters of type DataDefinition
    Constructor and Description
    `ARXResult(DataHandle handle, DataDefinition definition, ARXLattice lattice, int historySize, double snapshotSizeSnapshot, double snapshotSizeDataset, Metric<?> metric, ARXConfiguration config, ARXLattice.ARXNode optimum, long time, SolutionSpace solutionSpace)` Internal constructor for deserialization.
    `ARXResult(org.deidentifier.arx.DataRegistry registry, DataManager manager, NodeChecker checker, DataDefinition definition, ARXConfiguration config, ARXLattice lattice, long duration, SolutionSpace solutionSpace)` Creates a new instance.
    `DataHandleOutput(ARXResult result, org.deidentifier.arx.DataRegistry registry, DataManager manager, Data outputGeneralized, Data outputMicroaggregated, ARXLattice.ARXNode node, DataDefinition definition, ARXConfiguration config)` Instantiates a new handle.

  - ### Uses of DataDefinition in org.deidentifier.arx.certificate

    Methods in org.deidentifier.arx.certificate with parameters of type DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `static ARXCertificate` | ARXCertificate.`create(DataHandle input, DataDefinition definition, ARXConfiguration config, ARXResult result, ARXLattice.ARXNode transformation, DataHandle output)` Creates a new instance
    `static ARXCertificate` | ARXCertificate.`create(DataHandle input, DataDefinition definition, ARXConfiguration config, ARXResult result, ARXLattice.ARXNode transformation, DataHandle output, CSVSyntax syntax)` Renders the document into the given output stream.
    `static ARXCertificate` | ARXCertificate.`create(DataHandle input, DataDefinition definition, ARXConfiguration config, ARXResult result, ARXLattice.ARXNode transformation, DataHandle output, CSVSyntax syntax, ElementData metadata)` Renders the document into the given output stream.

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

    Methods in org.deidentifier.arx.framework.data that return DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected DataDefinition` | DataManager.`getDataDefinition()` Returns the data definitions

    Constructors in org.deidentifier.arx.framework.data with parameters of type DataDefinition
    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

    `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 DataDefinition in org.deidentifier.arx.metric

    Methods in org.deidentifier.arx.metric with parameters of type DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `void` | Metric.`initialize(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)` Initializes the metric.
    `protected void` | MetricNMEntropy.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricAECS.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricDM.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricHeight.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricStatic.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricEntropy.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] ahierarchies, ARXConfiguration config)`
    `protected void` | MetricWeighted.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricDefault.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected abstract void` | Metric.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)` Implement this to initialize the metric.
    `protected void` | MetricNMPrecision.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricPrecision.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricDMStar.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`

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

    Methods in org.deidentifier.arx.metric.v2 with parameters of type DataDefinition
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | MetricSDNMEntropyBasedInformationLoss.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | AbstractMetricSingleDimensional.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricSDNMKLDivergence.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNMLossPrecomputed.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricSDNMAmbiguity.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNUEntropyPrecomputed.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNMPrecision.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNUNMEntropyPrecomputed.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricSDNMPublisherPayout.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | AbstractMetricMultiDimensional.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDHeight.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | AbstractMetricMultiDimensionalPotentiallyPrecomputed.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] ahierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNUNMNormalizedEntropyPrecomputed.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDStatic.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`
    `protected void` | MetricMDNMLoss.`initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config)`