org.deidentifier.arx.framework.lattice

## Class SolutionSpaceIntArray

- java.lang.Object
- - org.deidentifier.arx.framework.lattice.SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>
  - - org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray

    public class SolutionSpaceIntArray
    extends SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>

A class representing the solution space

Author:
  Fabian Prasser

### Constructor Summary

Constructors
Constructor and Description
`SolutionSpaceIntArray(ARXLattice lattice, ARXConfiguration config)` Delegate constructor
`SolutionSpaceIntArray(int[] minLevels, int[] maxLevels)` Delegate constructor

### Method Summary

All Methods Instance Methods Concrete Methods
`Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `getBottom()` Returns the bottom transformation
`ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `getMaterializedTransformations()` Returns all materialized transformations
`java.math.BigInteger` `getSize()` Returns the overall number of transformations in the solution space
`Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `getTop()` Returns the top-transformation
`Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `getTransformation(int[] transformation)` Returns a wrapper object with access to all properties about the transformation
`Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `getTransformation(java.lang.Object _identifier)` Returns the transformation with the given identifier
`InformationLoss<?>` `getUtility(java.lang.Object identifier)` Returns the utility of the transformation with the given identifier
`boolean` `hasProperty(int[] transformation, de.linearbits.jhpl.PredictiveProperty property)` Returns whether a node has a given property
`ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `unsafeGetAllTransformations()` Returns all transformations in the solution space
`ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>` `unsafeGetLevel(int level)` Returns *all* nodes on the given level.

### Methods inherited from class org.deidentifier.arx.framework.lattice.SolutionSpace

`create, create, getLevel, getPropertyAnonymous, getPropertyChecked, getPropertyExpanded, getPropertyForceSnapshot, getPropertyInsufficientUtility, getPropertyKAnonymous, getPropertyNotAnonymous, getPropertyNotKAnonymous, getPropertySuccessorsPruned, getPropertyVisited, isDirectParentChild, isParentChildOrEqual, setAnonymityPropertyPredictable`

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

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

### Constructor Detail

#### SolutionSpaceIntArray

    public SolutionSpaceIntArray(ARXLattice lattice,
                                 ARXConfiguration config)

Delegate constructor

Parameters:
  `lattice` -
  `config` -

#### SolutionSpaceIntArray

    public SolutionSpaceIntArray(int[] minLevels,
                                 int[] maxLevels)

Delegate constructor

Parameters:
  `minLevels` -
  `maxLevels` -

### Method Detail

#### getBottom

    public Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> getBottom()

Returns the bottom transformation

Specified by:
  `getBottom` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Returns:

#### getMaterializedTransformations

    public ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> getMaterializedTransformations()

Returns all materialized transformations

Specified by:
  `getMaterializedTransformations` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Returns:

#### getSize

    public java.math.BigInteger getSize()

Returns the overall number of transformations in the solution space

Specified by:
  `getSize` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Returns:

#### getTop

    public Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> getTop()

Returns the top-transformation

Specified by:
  `getTop` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Returns:

#### getTransformation

    public Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> getTransformation(int[] transformation)

Returns a wrapper object with access to all properties about the transformation

Specified by:
  `getTransformation` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Parameters:
  `transformation` - - in ARX format
Returns:

#### getTransformation

    public Transformation<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> getTransformation(java.lang.Object _identifier)

Returns the transformation with the given identifier

Specified by:
  `getTransformation` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Parameters:
  `_identifier` - - in ARX format
Returns:

#### getUtility

    public InformationLoss<?> getUtility(java.lang.Object identifier)

Returns the utility of the transformation with the given identifier

Specified by:
  `getUtility` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Parameters:
  `identifier` - - in ARX format
Returns:

#### hasProperty

    public boolean hasProperty(int[] transformation,
                               de.linearbits.jhpl.PredictiveProperty property)

Returns whether a node has a given property

Specified by:
  `hasProperty` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Parameters:
  `transformation` - - in ARX format
  `property` -
Returns:

#### unsafeGetAllTransformations

    public ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> unsafeGetAllTransformations()

Returns all transformations in the solution space

Specified by:
  `unsafeGetAllTransformations` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Returns:

#### unsafeGetLevel

    public ObjectIterator<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper> unsafeGetLevel(int level)

Returns *all* nodes on the given level. This is an unsafe operation that only performs well for "small" spaces.

Specified by:
  `unsafeGetLevel` in class `SolutionSpace<org.deidentifier.arx.framework.lattice.SolutionSpaceIntArray.IntArrayWrapper>`
Parameters:
  `level` -
Returns: