# ARXLattice (ARX Developer Documentation)

org.deidentifier.arx

## Class ARXLattice

- java.lang.Object
- - org.deidentifier.arx.ARXLattice

- All Implemented Interfaces:
    java.io.Serializable

      public class ARXLattice
      extends java.lang.Object
      implements java.io.Serializable

  This class implements a representation of the generalization lattice that is exposed to users of the API.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ARXLattice.Access` The internal accessor class.
    `static class` | `ARXLattice.Anonymity` ReflectS different anonymity properties
    `class` | `ARXLattice.ARXNode` A node in the lattice.
    `static class` | `ARXLattice.LatticeDeserializationContext` Context for deserialization.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ARXLattice.Access` | `access()` Access fields of this class.
    `protected void` | `estimateInformationLoss()` This method triggers the estimation of the information loss of all nodes in the lattice regardless of whether they have been checked for anonymity or not.
    `void` | `expand(ARXLattice.ARXNode center)` Materializes any non-materialized predecessors and successors
    `ARXLattice.ARXNode` | `getBottom()` Returns the bottom node.
    `static ARXLattice.LatticeDeserializationContext` | `getDeserializationContext()` Returns the deserialization context.
    `InformationLoss<?>` | `getHighestScore()` Returns the highest score.
    `ARXLattice.ARXNode[][]` | `getLevels()` Returns the levels of the generalization lattice.
    `InformationLoss<?>` | `getLowestScore()` Returns the lowest score.
    `InformationLoss<?>` | `getMaximumInformationLoss()` Deprecated.
    `InformationLoss<?>` | `getMinimumInformationLoss()` Deprecated.
    `protected ARXLattice.ARXNode` | `getOptimum()` Returns the optimum, if any.
    `int` | `getSize()` Returns the number of nodes.
    `ARXLattice.ARXNode` | `getTop()` Returns the top node.
    `long` | `getVirtualSize()` Returns the virtual size of the solution space
    `boolean` | `isComplete()` Returns whether the search space has been characterized completely (i.e.
    `ElementData` | `render()` Renders this object

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

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

- - ### Method Detail

    - #### getDeserializationContext

          public static ARXLattice.LatticeDeserializationContext getDeserializationContext()

      Returns the deserialization context.
      Returns:

    - #### access

          public ARXLattice.Access access()

      Access fields of this class.
      Returns:

    - #### expand

          public void expand(ARXLattice.ARXNode center)

      Materializes any non-materialized predecessors and successors

    - #### getBottom

          public ARXLattice.ARXNode getBottom()

      Returns the bottom node.
      Returns:

    - #### getHighestScore

          public InformationLoss<?> getHighestScore()

      Returns the highest score. Lower is better.
      Returns:

    - #### getLevels

          public ARXLattice.ARXNode[][] getLevels()

      Returns the levels of the generalization lattice.
      Returns:

    - #### getLowestScore

          public InformationLoss<?> getLowestScore()

      Returns the lowest score. Lower is better.
      Returns:

    - #### getMaximumInformationLoss

          @Deprecated
          public InformationLoss<?> getMaximumInformationLoss()

      Deprecated.
      Returns the maximal information loss. This method is deprecated. Please use getHighestScore() instead.
      Returns:

    - #### getMinimumInformationLoss

          @Deprecated
          public InformationLoss<?> getMinimumInformationLoss()

      Deprecated.
      Returns the minimal information loss. This method is deprecated. Please use getLowestScore() instead.
      Returns:

    - #### getSize

          public int getSize()

      Returns the number of nodes.
      Returns:

    - #### getTop

          public ARXLattice.ARXNode getTop()

      Returns the top node.
      Returns:

    - #### getVirtualSize

          public long getVirtualSize()

      Returns the virtual size of the solution space
      Returns:

    - #### isComplete

          public boolean isComplete()

      Returns whether the search space has been characterized completely (i.e. whether an optimal solution has been determined, *not* whether all transformations have been materialized).
      Returns:

    - #### render

          public ElementData render()

      Renders this object
      Returns:

    - #### estimateInformationLoss

          protected void estimateInformationLoss()

      This method triggers the estimation of the information loss of all nodes in the lattice regardless of whether they have been checked for anonymity or not. Additionally, it computes global upper and lower bounds on utility

    - #### getOptimum

          protected ARXLattice.ARXNode getOptimum()

      Returns the optimum, if any.
      Returns: