# ProfitabilityJournalist (ARX Developer Documentation)

org.deidentifier.arx.criteria

## Class ProfitabilityJournalist

- java.lang.Object
- - org.deidentifier.arx.criteria.PrivacyCriterion
  - - org.deidentifier.arx.criteria.ImplicitPrivacyCriterion
    - - org.deidentifier.arx.criteria.ProfitabilityProsecutor
      - - org.deidentifier.arx.criteria.ProfitabilityJournalist

- All Implemented Interfaces:
    java.io.Serializable

      public class ProfitabilityJournalist
      extends ProfitabilityProsecutor

  Privacy model for the game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk. Zhiyu Wan, Yevgeniy Vorobeychik, Weiyi Xia, Ellen Wright Clayton, Murat Kantarcioglu, Ranjit Ganta, Raymond Heatherly, Bradley A. Malin PLOS|ONE. 2015.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProfitabilityJournalist(DataSubset subset)` Creates a new instance of game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ProfitabilityJournalist` | `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` | `getRequirements()` Returns the criterion's requirements.
    `protected double` | `getSuccessProbability(HashGroupifyEntry entry)` Returns the success probability.
    `boolean` | `isLocalRecodingSupported()` Returns whether the criterion supports local recoding.
    `boolean` | `isSubsetAvailable()` If a privacy model uses a data subset, it must overwrite this method
    `ElementData` | `render()` Renders the privacy model
    `java.lang.String` | `toString()` Returns a string representation.

    - ### Methods inherited from class org.deidentifier.arx.criteria.ProfitabilityProsecutor

      `getConfiguration, initialize, isAnonymous, toString`

    - ### Methods inherited from class org.deidentifier.arx.criteria.PrivacyCriterion

      `getMinimalClassSize, getPopulationModel, getRiskThresholdJournalist, getRiskThresholdMarketer, getRiskThresholdProsecutor, getSubset, isMinimalClassSizeAvailable, isMonotonicWithGeneralization, isMonotonicWithSuppression, isSampleBased`

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

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

- - ### Constructor Detail

    - #### ProfitabilityJournalist

          public ProfitabilityJournalist(DataSubset subset)

      Creates a new instance of game theoretic approach proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk. Zhiyu Wan, Yevgeniy Vorobeychik, Weiyi Xia, Ellen Wright Clayton, Murat Kantarcioglu, Ranjit Ganta, Raymond Heatherly, Bradley A. Malin PLOS|ONE. 2015.

  - ### Method Detail

    - #### clone

          public ProfitabilityJournalist clone()

      Description copied from class: `PrivacyCriterion`
      Clone
      Overrides:
        `clone` in class `ProfitabilityProsecutor`

    - #### clone

          public PrivacyCriterion clone(DataSubset subset)

      Description copied from class: `PrivacyCriterion`
      Clone for local recoding
      Overrides:
        `clone` in class `ProfitabilityProsecutor`

    - #### getDataSubset

          public DataSubset getDataSubset()

      Description copied from class: `PrivacyCriterion`
      If a privacy model uses a data subset, it must overwrite this method
      Overrides:
        `getDataSubset` in class `ProfitabilityProsecutor`
      Returns:

    - #### getRequirements

          public int getRequirements()

      Description copied from class: `PrivacyCriterion`
      Returns the criterion's requirements.
      Overrides:
        `getRequirements` in class `ProfitabilityProsecutor`
      Returns:

    - #### isLocalRecodingSupported

          public boolean isLocalRecodingSupported()

      Description copied from class: `PrivacyCriterion`
      Returns whether the criterion supports local recoding.
      Overrides:
        `isLocalRecodingSupported` in class `ProfitabilityProsecutor`
      Returns:

    - #### isSubsetAvailable

          public boolean isSubsetAvailable()

      Description copied from class: `PrivacyCriterion`
      If a privacy model uses a data subset, it must overwrite this method
      Overrides:
        `isSubsetAvailable` in class `ProfitabilityProsecutor`
      Returns:

    - #### render

          public ElementData render()

      Description copied from class: `PrivacyCriterion`
      Renders the privacy model
      Overrides:
        `render` in class `ProfitabilityProsecutor`
      Returns:

    - #### toString

          public java.lang.String toString()

      Description copied from class: `PrivacyCriterion`
      Returns a string representation.
      Overrides:
        `toString` in class `ProfitabilityProsecutor`

    - #### getSuccessProbability

          protected double getSuccessProbability(HashGroupifyEntry entry)

      Description copied from class: `ProfitabilityProsecutor`
      Returns the success probability. If the game is configured to use the journalist risk, but no population table is available, we silently default to the prosecutor model.
      Overrides:
        `getSuccessProbability` in class `ProfitabilityProsecutor`
      Returns: