# AbstractILMultiDimensionalReduced (ARX Developer Documentation)

org.deidentifier.arx.metric.v2

## Class AbstractILMultiDimensionalReduced

- java.lang.Object
- - org.deidentifier.arx.metric.InformationLoss<double[]>
  - - org.deidentifier.arx.metric.v2.AbstractILMultiDimensional
    - - org.deidentifier.arx.metric.v2.AbstractILMultiDimensionalReduced

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<InformationLoss<?>>
  Direct Known Subclasses:
    ILMultiDimensionalArithmeticMean, ILMultiDimensionalGeometricMean, ILMultiDimensionalMax, ILMultiDimensionalSum

      public abstract class AbstractILMultiDimensionalReduced
      extends AbstractILMultiDimensional

  This class implements an information loss which can be represented as a decimal number per quasi-identifier.
  See Also:
    Serialized Form

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract InformationLoss<double[]>` | `clone()` Override this to implement a variant.
    `int` | `compareTo(InformationLoss<?> other)` Compares the loss to the other.
    `protected AbstractILMultiDimensionalReduced` | `convert(InformationLoss<?> other)` Converter method.
    `protected abstract double` | `getAggregate()` Override this to implement a variant.
    `double[]` | `getValue()` Returns the value
    `int` | `hashCode()`
    `double` | `relativeTo(InformationLoss<?> min, InformationLoss<?> max)` Returns the value relative to the other instance.
    `protected void` | `setValues(double[] values)`
    `java.lang.String` | `toString()` Returns a string representation.

    - ### Methods inherited from class org.deidentifier.arx.metric.v2.AbstractILMultiDimensional

      `addMetadata, equals, getValues, getWeights, max, min`

    - ### Methods inherited from class org.deidentifier.arx.metric.InformationLoss

      `createInformationLoss, getMetadata`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### clone

          public abstract InformationLoss<double[]> clone()

      Override this to implement a variant.
      Specified by:
        `clone` in class `AbstractILMultiDimensional`
      Returns:

    - #### compareTo

          public int compareTo(InformationLoss<?> other)

      Description copied from class: `InformationLoss`
      Compares the loss to the other.
      Specified by:
        `compareTo` in interface `java.lang.Comparable<InformationLoss<?>>`
      Specified by:
        `compareTo` in class `AbstractILMultiDimensional`

    - #### getValue

          public double[] getValue()

      Description copied from class: `InformationLoss`
      Returns the value
      Specified by:
        `getValue` in class `AbstractILMultiDimensional`
      Returns:

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `InformationLoss<double[]>`

    - #### relativeTo

          public double relativeTo(InformationLoss<?> min,
                          InformationLoss<?> max)

      Description copied from class: `InformationLoss`
      Returns the value relative to the other instance.
      Specified by:
        `relativeTo` in class `AbstractILMultiDimensional`
      Returns:

    - #### toString

          public java.lang.String toString()

      Description copied from class: `InformationLoss`
      Returns a string representation.
      Specified by:
        `toString` in class `AbstractILMultiDimensional`

    - #### convert

          protected AbstractILMultiDimensionalReduced convert(InformationLoss<?> other)

      Converter method.
      Specified by:
        `convert` in class `AbstractILMultiDimensional`
      Parameters:
        `other` -
      Returns:

    - #### getAggregate

          protected abstract double getAggregate()

      Override this to implement a variant.
      Returns:

    - #### setValues

          protected void setValues(double[] values)

      Overrides:
        `setValues` in class `AbstractILMultiDimensional`
      Parameters:
        `values` - the values to set