public abstract class SolutionSpace<T>
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static SolutionSpace<?> |
create(ARXLattice lattice,
ARXConfiguration config)
Creates a new solution space
|
static SolutionSpace<?> |
create(int[] hierarchiesMinLevels,
int[] hierarchiesMaxLevels)
Creates a new solution space
|
abstract Transformation<T> |
getBottom()
Returns the bottom transformation
|
int |
getLevel(int[] transformation)
Returns the level of the given transformation
|
abstract ObjectIterator<T> |
getMaterializedTransformations()
Returns all materialized transformations
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyAnonymous()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyChecked()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyExpanded()
Property for expanded transformation
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyForceSnapshot()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyInsufficientUtility()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyKAnonymous()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyNotAnonymous()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyNotKAnonymous()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertySuccessorsPruned()
Returns a property
|
de.linearbits.jhpl.PredictiveProperty |
getPropertyVisited()
Returns a property
|
abstract java.math.BigInteger |
getSize()
Returns the overall number of transformations in the solution space
|
abstract Transformation<T> |
getTop()
Returns the top-transformation
|
abstract Transformation<T> |
getTransformation(int[] transformation)
Returns a wrapper object with access to all properties about the transformation
|
abstract Transformation<T> |
getTransformation(java.lang.Object _identifier)
Returns the transformation with the given identifier
|
abstract InformationLoss<?> |
getUtility(java.lang.Object _identifier)
Returns the utility of the transformation with the given identifier
|
abstract boolean |
hasProperty(int[] transformation,
de.linearbits.jhpl.PredictiveProperty property)
Returns whether a node has a given property
|
boolean |
isDirectParentChild(int[] parent,
int[] child)
Determines whether a direct parent-child relationship exists.
|
boolean |
isParentChildOrEqual(int[] parent,
int[] child)
Determines whether a parent-child relationship exists, or both are equal
|
void |
setAnonymityPropertyPredictable(boolean predictable)
Makes the anonymity property predictable
|
abstract ObjectIterator<T> |
unsafeGetAllTransformations()
Returns all transformations in the solution space
|
abstract ObjectIterator<T> |
unsafeGetLevel(int level)
Returns *all* nodes on the given level.
|
public static SolutionSpace<?> create(ARXLattice lattice, ARXConfiguration config)
lattice
- config
- public static SolutionSpace<?> create(int[] hierarchiesMinLevels, int[] hierarchiesMaxLevels)
hierarchiesMinLevels
- hierarchiesMaxLevels
- public abstract Transformation<T> getBottom()
public int getLevel(int[] transformation)
transformation
- public abstract ObjectIterator<T> getMaterializedTransformations()
public de.linearbits.jhpl.PredictiveProperty getPropertyAnonymous()
public de.linearbits.jhpl.PredictiveProperty getPropertyChecked()
public de.linearbits.jhpl.PredictiveProperty getPropertyExpanded()
public de.linearbits.jhpl.PredictiveProperty getPropertyForceSnapshot()
public de.linearbits.jhpl.PredictiveProperty getPropertyInsufficientUtility()
public de.linearbits.jhpl.PredictiveProperty getPropertyKAnonymous()
public de.linearbits.jhpl.PredictiveProperty getPropertyNotAnonymous()
public de.linearbits.jhpl.PredictiveProperty getPropertyNotKAnonymous()
public de.linearbits.jhpl.PredictiveProperty getPropertySuccessorsPruned()
public de.linearbits.jhpl.PredictiveProperty getPropertyVisited()
public abstract java.math.BigInteger getSize()
public abstract Transformation<T> getTop()
public abstract Transformation<T> getTransformation(int[] transformation)
transformation
- public abstract Transformation<T> getTransformation(java.lang.Object _identifier)
_identifier
- public abstract InformationLoss<?> getUtility(java.lang.Object _identifier)
identifier
- public abstract boolean hasProperty(int[] transformation, de.linearbits.jhpl.PredictiveProperty property)
transformation
- property
- public boolean isDirectParentChild(int[] parent, int[] child)
parent
- child
- public boolean isParentChildOrEqual(int[] parent, int[] child)
parent
- child
- public void setAnonymityPropertyPredictable(boolean predictable)
predictable
- public abstract ObjectIterator<T> unsafeGetAllTransformations()
public abstract ObjectIterator<T> unsafeGetLevel(int level)
level
-