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

## Uses of Class
org.deidentifier.arx.criteria.PrivacyCriterion

- Packages that use PrivacyCriterion
  Package | Description
  --- | ---
  org.deidentifier.arx | This package provides the public API for the ARX anonymization framework.
  org.deidentifier.arx.criteria | This package implements different variants of class-based privacy criteria, such as k-anonymity, l-diversity, t-closeness and d-presence.
  org.deidentifier.arx.framework.data | This package implements data management, i.e., encoding and representing input data, output data and generalization hierarchies

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

    Methods in org.deidentifier.arx with type parameters of type PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `<T extends PrivacyCriterion> java.util.Set<T>` | ARXConfiguration.`getCriteria(java.lang.Class<T> clazz)` Deprecated.
    `<T extends PrivacyCriterion> T` | ARXConfiguration.`getCriterion(java.lang.Class<T> clazz)` Deprecated.
    `<T extends PrivacyCriterion> T` | ARXConfiguration.`getPrivacyModel(java.lang.Class<T> clazz)` Returns an instance of the class, if any.
    `<T extends PrivacyCriterion> T` | ARXConfiguration.ARXConfigurationInternal.`getPrivacyModel(java.lang.Class<T> clazz)`
    `<T extends PrivacyCriterion> java.util.Set<T>` | ARXConfiguration.`getPrivacyModels(java.lang.Class<T> clazz)` Returns all privacy models which are instances of the given class.
    `<T extends PrivacyCriterion> boolean` | ARXConfiguration.`removeCriterion(PrivacyCriterion arg)` Removes the given criterion.

    Methods in org.deidentifier.arx that return PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `PrivacyCriterion[]` | ARXConfiguration.ARXConfigurationInternal.`getClassBasedPrivacyModelsAsArray()` Returns all class-based criteria (except k-anonymity) as an array.
    `protected PrivacyCriterion[]` | ARXConfiguration.`getPrivacyModelsAsArray()` Returns all criteria (except k-anonymity) as an array.

    Methods in org.deidentifier.arx that return types with arguments of type PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<PrivacyCriterion>` | ARXConfiguration.`getCriteria()` Deprecated.
    `java.util.Set<PrivacyCriterion>` | ARXConfiguration.`getPrivacyModels()` Returns all privacy models.
    `java.util.Set<PrivacyCriterion>` | ARXConfiguration.ARXConfigurationInternal.`getPrivacyModels()` Returns all criteria.

    Methods in org.deidentifier.arx with parameters of type PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `ARXConfiguration` | ARXConfiguration.`addCriterion(PrivacyCriterion c)` Deprecated.
    `ARXConfiguration` | ARXConfiguration.`addPrivacyModel(PrivacyCriterion c)` Adds a privacy model to the configuration.
    `<T extends PrivacyCriterion> boolean` | ARXConfiguration.`removeCriterion(PrivacyCriterion arg)` Removes the given criterion.

    Method parameters in org.deidentifier.arx with type arguments of type PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ARXConfiguration.`containsCriterion(java.lang.Class<? extends PrivacyCriterion> clazz)` Deprecated.
    `boolean` | ARXConfiguration.`isPrivacyModelSpecified(java.lang.Class<? extends PrivacyCriterion> clazz)` Returns whether the configuration contains a privacy model which is an instance of the given class.
    `boolean` | ARXConfiguration.ARXConfigurationInternal.`isPrivacyModelSpecified(java.lang.Class<? extends PrivacyCriterion> clazz)`

  - ### Uses of PrivacyCriterion in org.deidentifier.arx.criteria

    Subclasses of PrivacyCriterion in org.deidentifier.arx.criteria
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AverageReidentificationRisk` This criterion ensures that an estimate for the average re-identification risk falls below a given threshold.
    `class` | `BasicBLikeness` Basic-beta-Likeness: Jianneng Cao, Panagiotis Karras: Publishing Microdata with a Robust Privacy Guarantee VLDB 2012.
    `class` | `DDisclosurePrivacy` Delta-disclosure privacy as proposed in: Justin Brickell and Vitaly Shmatikov: The Cost of Privacy: Destruction of Data-mining Utility in Anonymized Data Publishing Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 2008
    `class` | `DistinctLDiversity` The distinct l-diversity privacy criterion.
    `class` | `DPresence` The d-presence criterion Published in: Nergiz M, Atzori M, Clifton C.
    `class` | `EDDifferentialPrivacy` (e,d)-Differential Privacy implemented with (k,b)-SDGS as proposed in: Ninghui Li, Wahbeh H.
    `class` | `EnhancedBLikeness` Enhanced-beta-Likeness: Jianneng Cao, Panagiotis Karras: Publishing Microdata with a Robust Privacy Guarantee VLDB 2012.
    `class` | `EntropyLDiversity` The entropy l-diversity privacy model.
    `class` | `EqualDistanceTCloseness` The t-closeness criterion with equal-distance EMD.
    `class` | `ExplicitPrivacyCriterion` A privacy criterion that is explicitly bound to a sensitive attribute.
    `class` | `HierarchicalDistanceTCloseness` The t-closeness criterion with hierarchical-distance EMD.
    `class` | `ImplicitPrivacyCriterion` A privacy criterion that is implicitly bound to the quasi-identifiers.
    `class` | `Inclusion` This is a special criterion that does not enforce any privacy guarantees but allows to define a data subset.
    `class` | `KAnonymity` The k-anonymity criterion Published in: Sweeney L.
    `class` | `KMap` This class implements the k-map privacy model as proposed by Latanya Sweeney. As an alternative to explicitly providing data about the underlying population, cell sizes can be can be estimated with the D3 (Poisson) and D4 (zero-truncated Poisson) estimators proposed in: K.
    `class` | `LDiversity` An abstract base class for l-diversity criteria Published in: Machanavajjhala A, Kifer D, Gehrke J.
    `class` | `OrderedDistanceTCloseness` The t-closeness criterion for ordered attributes.
    `class` | `PopulationUniqueness` This criterion ensures that the population uniqueness falls below a given threshold.
    `class` | `ProfitabilityJournalist` Privacy model for the game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.
    `class` | `ProfitabilityJournalistNoAttack` Privacy model for the "no-attack" variant of the game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.
    `class` | `ProfitabilityProsecutor` Privacy model for the game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.
    `class` | `ProfitabilityProsecutorNoAttack` Privacy model for the "no-attack" variant of the game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.
    `class` | `RecursiveCLDiversity` The recursive-(c,l)-diversity criterion.
    `class` | `RiskBasedCriterion` Abstract class for criteria that ensure that a certain risk measure is lower than or equal to a given threshold
    `class` | `SampleBasedCriterion` An abstract base class for sample-based privacy criteria.
    `class` | `SampleUniqueness` This criterion ensures that the sample uniqueness falls below a given threshold.
    `class` | `TCloseness` An abstract base class for t-closeness criteria as proposed in: Li N, Li T, Venkatasubramanian S.

    Methods in org.deidentifier.arx.criteria that return PrivacyCriterion
    Modifier and Type | Method and Description
    --- | ---
    `PrivacyCriterion` | ProfitabilityProsecutorNoAttack.`clone()`
    `PrivacyCriterion` | ProfitabilityJournalistNoAttack.`clone()`
    `abstract PrivacyCriterion` | PrivacyCriterion.`clone()` Clone
    `PrivacyCriterion` | KMap.`clone(DataSubset subset)`
    `PrivacyCriterion` | ProfitabilityProsecutorNoAttack.`clone(DataSubset subset)`
    `PrivacyCriterion` | Inclusion.`clone(DataSubset subset)`
    `PrivacyCriterion` | ProfitabilityJournalistNoAttack.`clone(DataSubset subset)`
    `PrivacyCriterion` | PrivacyCriterion.`clone(DataSubset subset)` Clone for local recoding
    `PrivacyCriterion` | ProfitabilityJournalist.`clone(DataSubset subset)`
    `PrivacyCriterion` | ProfitabilityProsecutor.`clone(DataSubset subset)`

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

    Constructor parameters in org.deidentifier.arx.framework.data with type arguments of type PrivacyCriterion
    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.