# ARXConfiguration.ARXConfigurationInternal (ARX API Documentation)

org.deidentifier.arx

## Class ARXConfiguration.ARXConfigurationInternal

- java.lang.Object
- - org.deidentifier.arx.ARXConfiguration.ARXConfigurationInternal

- Enclosing class:
    ARXConfiguration

      public static class ARXConfiguration.ARXConfigurationInternal
      extends java.lang.Object

  Class for internal use that provides access to more parameters and functionality.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAbsoluteMaxOutliers()` Returns the maximum number of allowed outliers.
    `PrivacyCriterion[]` | `getClassBasedPrivacyModelsAsArray()` Returns all class-based criteria (except k-anonymity) as an array.
    `double` | `getMaxOutliers()` Returns the max relative number of outliers.
    `int` | `getMinimalGroupSize()` Returns the minimal size of an equivalence class induced by the contained criteria.
    `ARXConfiguration.Monotonicity` | `getMonotonicityOfPrivacy()` Returns a monotonicity property
    `ARXConfiguration.Monotonicity` | `getMonotonicityOfUtility()` Returns a monotonicity property
    `<T extends PrivacyCriterion> T` | `getPrivacyModel(java.lang.Class<T> clazz)`
    `java.util.Set<PrivacyCriterion>` | `getPrivacyModels()` Returns all criteria.
    `Metric<?>` | `getQualityModel()` Returns the quality model to be used for optimizing output data.
    `int` | `getRequirements()` Returns the criteria's requirements.
    `SampleBasedCriterion[]` | `getSampleBasedPrivacyModelsAsArray()` Returns all sample-based criteria as an array.
    `int` | `getSnapshotLength()` Returns the specific length of each entry in a snapshot.
    `DataSubset` | `getSubset()` Returns the data subset, if any
    `int` | `getSuppressedAttributeTypes()` Returns an integer representing all attribute types that must be suppressed.
    `boolean` | `isPracticalMonotonicity()` Is practical monotonicity assumed.
    `boolean` | `isPrivacyModelSpecified(java.lang.Class<? extends PrivacyCriterion> clazz)`
    `boolean` | `isSuppressionAlwaysEnabled()` Returns whether suppression is applied to the output of anonymous as well as non-anonymous transformations.
    `boolean` | `isUseHeuristicForSampleBasedCriteria()` Do we guarantee optimality for sample-based criteria?
    `boolean` | `requires(int requirement)` Convenience method for checking the requirements.

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### isPrivacyModelSpecified

          public boolean isPrivacyModelSpecified(java.lang.Class<? extends PrivacyCriterion> clazz)

      Parameters:
        `clazz` -
      Returns:
      See Also:
        `ARXConfiguration.isPrivacyModelSpecified(java.lang.Class)`

    - #### getAbsoluteMaxOutliers

          public final int getAbsoluteMaxOutliers()

      Returns the maximum number of allowed outliers.
      Returns:

    - #### getClassBasedPrivacyModelsAsArray

          public PrivacyCriterion[] getClassBasedPrivacyModelsAsArray()

      Returns all class-based criteria (except k-anonymity) as an array. Only used internally. If k-anonymity is included the minimal group size should be obtained and enforced
      Returns:

    - #### getPrivacyModels

          public java.util.Set<PrivacyCriterion> getPrivacyModels()

      Returns all criteria.
      Returns:

    - #### getPrivacyModel

          public <T extends PrivacyCriterion> T getPrivacyModel(java.lang.Class<T> clazz)

      Type Parameters:
        `T` -
      Parameters:
        `clazz` -
      Returns:
      See Also:
        `ARXConfiguration.getPrivacyModel(java.lang.Class)`

    - #### getMaxOutliers

          public double getMaxOutliers()

      Returns the max relative number of outliers.
      Returns:

    - #### getQualityModel

          public Metric<?> getQualityModel()

      Returns the quality model to be used for optimizing output data.
      Returns:

    - #### getMinimalGroupSize

          public int getMinimalGroupSize()

      Returns the minimal size of an equivalence class induced by the contained criteria.
      Returns:
        If k-anonymity is contained, k is returned. If l-diversity is contained, l is returned. If both are contained max(k,l) is returned. Otherwise, Integer.MAX_VALUE is returned.

    - #### getMonotonicityOfPrivacy

          public ARXConfiguration.Monotonicity getMonotonicityOfPrivacy()

      Returns a monotonicity property
      Returns:

    - #### getMonotonicityOfUtility

          public ARXConfiguration.Monotonicity getMonotonicityOfUtility()

      Returns a monotonicity property
      Returns:

    - #### getRequirements

          public int getRequirements()

      Returns the criteria's requirements.
      Returns:

    - #### getSampleBasedPrivacyModelsAsArray

          public SampleBasedCriterion[] getSampleBasedPrivacyModelsAsArray()

      Returns all sample-based criteria as an array.
      Returns:

    - #### getSnapshotLength

          public int getSnapshotLength()

      Returns the specific length of each entry in a snapshot.
      Returns:

    - #### getSubset

          public DataSubset getSubset()

      Returns the data subset, if any
      Returns:

    - #### getSuppressedAttributeTypes

          public int getSuppressedAttributeTypes()

      Returns an integer representing all attribute types that must be suppressed.
      Returns:

    - #### isPracticalMonotonicity

          public boolean isPracticalMonotonicity()

      Is practical monotonicity assumed.
      Returns:

    - #### isSuppressionAlwaysEnabled

          public boolean isSuppressionAlwaysEnabled()

      Returns whether suppression is applied to the output of anonymous as well as non-anonymous transformations. If this flag is set to true, suppression will be applied to the output of non-anonymous transformations to make them anonymous (if possible). Default is true.
      Returns:

    - #### isUseHeuristicForSampleBasedCriteria

          public boolean isUseHeuristicForSampleBasedCriteria()

      Do we guarantee optimality for sample-based criteria?

    - #### requires

          public boolean requires(int requirement)

      Convenience method for checking the requirements.
      Parameters:
        `requirement` -
      Returns: