# org.deidentifier.arx (ARX GUI Documentation)

# Package org.deidentifier.arx

This package provides the public API for the ARX anonymization framework.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ARXListener | This class implements a listener for the ARX framework.
  DataHandleInternal.InterruptHandler | Interface
  DataType.DataTypeWithFormat | An interface for data types with format.
  DataType.DataTypeWithRatioScale<T> | An interface for data types with a ratio scale.

- Class Summary
  Class | Description
  --- | ---
  ARXAnonymizer | This class offers several methods to define parameters and execute the ARX algorithm.
  ARXConfiguration | A generic configuration for the ARX anonymizer.
  ARXConfiguration.ARXConfigurationInternal | Class for internal use that provides access to more parameters and functionality.
  ARXCostBenefitConfiguration | Basic configuration of monetary amounts, such as the publisher's benefit per record or the per-record fine fine for a successful re-identification attack.
  ARXLattice | This class implements a representation of the generalization lattice that is exposed to users of the API.
  ARXLattice.LatticeDeserializationContext | Context for deserialization.
  ARXLogisticRegressionConfiguration | Configuration for logistic regression
  ARXPopulationModel | This class models population properties for risk estimation
  ARXResult | Encapsulates the results of an execution of the ARX algorithm.
  ARXSolverConfiguration | Runtime configuration for the solver
  AttributeType | Represents an attribute type.
  AttributeType.Hierarchy | This class implements a generalization hierarchy.
  AttributeType.Hierarchy.DefaultHierarchy | The default implementation of a generalization hierarchy.
  AttributeType.MicroAggregationFunction | This class is used to define aggregate functions for microaggregation.
  AttributeType.MicroAggregationFunctionDescription | This class describes a microaggregation function
  Data | Represents input data for the ARX framework.
  Data.DefaultData | The default implementation of a data object.
  DataDefinition | Encapsulates a definition of the types of attributes contained in a dataset.
  DataGeneralizationScheme | This class encapsulates a generalization scheme
  DataHandle | This class provides access to dictionary encoded data.
  DataHandleInput | An implementation of the DataHandle interface for input data.
  DataHandleInternal | Wrapper class that provides information to StatisticsBuilder.
  DataHandleOutput | An implementation of the class DataHandle for output data.
  DataHandleSubset | This implementation of a data handle projects a given data handle onto a given research subset.
  DataSelector | A selector for tuples.
  DataSource | This class provides configuration options for importing data from CSV-files, from Excel-files or via a JDBC connection.
  DataSubset | This class represents a the dataset that is to be de-identified as a subset of the given population table.
  DataType<T> | This class provides access to the data types supported by the ARX framework.
  DataType.ARXDate | Base class for date/time types.
  DataType.ARXDecimal | Base class for numeric types.
  DataType.ARXInteger | Base class for numeric types.
  DataType.ARXOrderedString | Base class for ordered string types.
  DataType.ARXString | Base class for string types.
  DataType.DataTypeDescription<T> | An entry in the list of available data types.
  RowSet | A set of rows.

- Enum Summary
  Enum | Description
  --- | ---
  ARXConfiguration.Monotonicity | Monotonicity.
  ARXLattice.Anonymity | ReflectS different anonymity properties
  ARXLogisticRegressionConfiguration.PriorFunction | Prior function for regularization
  ARXPopulationModel.Region | Regions
  DataGeneralizationScheme.GeneralizationDegree | A specific generalization degree
  DataScale | This class represents different scales of measure.

## Package org.deidentifier.arx Description

This package provides the public API for the ARX anonymization framework.

- The class `AttributeType` encapsulates the four different kinds of attributes recognized by the framework.
- The class `DataType` encapsulates the three different kinds of data types recognized by the framework.
- The class `Data` represents an input dataset for the algorithm.
- The class `DataDefinitio`, an instance of which can be obtain for any input data by calling `Data.getDefinition()`, allows assign attribute types, data types and further parameters to a dataset.
- The class `DataHandle`, an instance of which can be obtain for any input data by calling `Data.getHandle()` and for any output data by calling `ARXResult.getHandle()`, implements convenience methods for accessing a dictionary encoded representation of a dataset. It also allows manipulating the data (e.g., sorting it) and makes sure that input and output data are always in sync.
- The class `ARXAnonymizer` represents the actual algorithm and allows to derive anonymous representations of the input dataset, e.g., by calling `ARXAnonymizer.kAnonymize()` or `ARXAnonymizer.lDiversify()`.
- The class `ARXResult` represents the results of executing the algorithm. It provides access to the globally optimal solution and the underlying generalization lattice `ARXLattice`.
- The class `ARXAdapter` can be utilized to attach a listener to the ARX framework, tracking its progress while anonymizing a dataset.