public abstract class PrivacyCriterion
extends java.lang.Object
implements java.io.Serializable
Constructor and Description |
---|
PrivacyCriterion(boolean monotonicWithSuppression,
boolean monotonicWithGeneralization)
Instantiates a new criterion.
|
Modifier and Type | Method and Description |
---|---|
abstract PrivacyCriterion |
clone()
Clone
|
PrivacyCriterion |
clone(DataSubset subset)
Clone for local recoding
|
DataSubset |
getDataSubset()
If a privacy model uses a data subset, it must overwrite this method
|
int |
getMinimalClassSize()
If a privacy model provides a prosecutor risk threshold, it should override this method to enable optimizations
|
ARXPopulationModel |
getPopulationModel()
Returns the associated population model,
null if there is none. |
abstract int |
getRequirements()
Returns the criterion's requirements.
|
double |
getRiskThresholdJournalist()
Return journalist risk threshold, 1 if there is none
|
double |
getRiskThresholdMarketer()
Return marketer risk threshold, 1 if there is none
|
double |
getRiskThresholdProsecutor()
Return prosecutor risk threshold, 1 if there is none
|
DataSubset |
getSubset()
Returns a research subset,
null if no subset is available |
void |
initialize(DataManager manager,
ARXConfiguration config)
Override this to initialize the criterion.
|
abstract boolean |
isAnonymous(Transformation<?> node,
HashGroupifyEntry entry)
Implement this, to enforce the criterion.
|
boolean |
isHeuristicSearchSupported()
Returns whether the criterion supports heuristic search strategies.
|
boolean |
isHeuristicSearchWithTimeLimitSupported()
Returns whether the criterion supports heuristic search strategies with time limits.
|
abstract boolean |
isLocalRecodingSupported()
Returns whether the criterion supports local recoding.
|
boolean |
isMinimalClassSizeAvailable()
If a privacy model provides a prosecutor risk threshold, it should override this method to enable optimizations
|
boolean |
isMonotonicWithGeneralization()
Returns whether the criterion is monotonic with generalization.
|
boolean |
isMonotonicWithSuppression()
Returns whether the criterion is monotonic with tuple suppression.
|
boolean |
isOptimalSearchSupported()
Returns whether the criterion supports optimal search strategies.
|
boolean |
isSampleBased()
Is this criterion based on the overall sample
|
boolean |
isSubsetAvailable()
If a privacy model uses a data subset, it must overwrite this method
|
abstract ElementData |
render()
Renders the privacy model
|
abstract java.lang.String |
toString()
Returns a string representation.
|
public PrivacyCriterion(boolean monotonicWithSuppression, boolean monotonicWithGeneralization)
monotonicWithSuppression
- monotonicWithGeneralization
- public abstract PrivacyCriterion clone()
clone
in class java.lang.Object
public PrivacyCriterion clone(DataSubset subset)
public DataSubset getDataSubset()
public int getMinimalClassSize()
public ARXPopulationModel getPopulationModel()
null
if there is none.public abstract int getRequirements()
public double getRiskThresholdJournalist()
public double getRiskThresholdMarketer()
public double getRiskThresholdProsecutor()
public DataSubset getSubset()
null
if no subset is availablepublic void initialize(DataManager manager, ARXConfiguration config)
manager
- config
- TODOpublic boolean isHeuristicSearchSupported()
public boolean isHeuristicSearchWithTimeLimitSupported()
public boolean isOptimalSearchSupported()
public abstract boolean isAnonymous(Transformation<?> node, HashGroupifyEntry entry)
node
- TODOentry
- public abstract boolean isLocalRecodingSupported()
public boolean isMinimalClassSizeAvailable()
public boolean isMonotonicWithGeneralization()
public boolean isMonotonicWithSuppression()
public boolean isSampleBased()
public boolean isSubsetAvailable()
public abstract ElementData render()
public abstract java.lang.String toString()
toString
in class java.lang.Object