# ARXCostBenefitConfiguration (ARX API Documentation)

org.deidentifier.arx

## Class ARXCostBenefitConfiguration

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

- All Implemented Interfaces:
    java.io.Serializable

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

  Basic configuration of monetary amounts, such as the publisher's benefit per record or the per-record fine fine for a successful re-identification attack. These parameters can be used to perform monetary cost/benefit analyses, e.g. using a game-theoretic approach.
  See Also:
    Serialized Form

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ARXCostBenefitConfiguration` | `clone()`
    `static ARXCostBenefitConfiguration` | `create()` Creates a new instance
    `double` | `getAdversaryCost()` Returns the amount of money needed by an attacker for trying to re-identify a single record
    `double` | `getAdversaryGain()` Returns the amount of money earned by an attacker for successfully re-identifying a single record
    `double` | `getPublisherBenefit()` Returns the amount of money earned by the data publisher for publishing a single record
    `double` | `getPublisherLoss()` Returns the amount of money lost by the data publisher, e.g.
    `ARXCostBenefitConfiguration` | `setAdversaryCost(double adversaryCost)` Sets the amount of money needed by an attacker for trying to re-identify a single record
    `ARXCostBenefitConfiguration` | `setAdversaryGain(double adversaryGain)` Sets the amount of money earned by an attacker for successfully re-identifying a single record
    `ARXCostBenefitConfiguration` | `setPublisherBenefit(double publisherBenefit)` Sets the amount of money earned by the data publisher for publishing a single record
    `ARXCostBenefitConfiguration` | `setPublisherLoss(double publisherLoss)` Sets the amount of money lost by the data publisher, e.g.
    `java.lang.String` | `toString()`

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

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

- - ### Method Detail

    - #### create

          public static ARXCostBenefitConfiguration create()

      Creates a new instance
      Returns:

    - #### clone

          public ARXCostBenefitConfiguration clone()

      Overrides:
        `clone` in class `java.lang.Object`

    - #### getAdversaryCost

          public double getAdversaryCost()

      Returns the amount of money needed by an attacker for trying to re-identify a single record
      Returns:
        the adversaryCost

    - #### getAdversaryGain

          public double getAdversaryGain()

      Returns the amount of money earned by an attacker for successfully re-identifying a single record
      Returns:
        the adversaryGain

    - #### getPublisherBenefit

          public double getPublisherBenefit()

      Returns the amount of money earned by the data publisher for publishing a single record
      Returns:
        the publisherBenefit

    - #### getPublisherLoss

          public double getPublisherLoss()

      Returns the amount of money lost by the data publisher, e.g. due to a fine, if a single record is attacked successfully
      Returns:
        the publisherLoss

    - #### setAdversaryCost

          public ARXCostBenefitConfiguration setAdversaryCost(double adversaryCost)

      Sets the amount of money needed by an attacker for trying to re-identify a single record
      Parameters:
        `adversaryCost` - the adversaryCost to set

    - #### setAdversaryGain

          public ARXCostBenefitConfiguration setAdversaryGain(double adversaryGain)

      Sets the amount of money earned by an attacker for successfully re-identifying a single record
      Parameters:
        `adversaryGain` - the adversaryGain to set

    - #### setPublisherBenefit

          public ARXCostBenefitConfiguration setPublisherBenefit(double publisherBenefit)

      Sets the amount of money earned by the data publisher for publishing a single record
      Parameters:
        `publisherBenefit` - the publisherBenefit to set

    - #### setPublisherLoss

          public ARXCostBenefitConfiguration setPublisherLoss(double publisherLoss)

      Sets the amount of money lost by the data publisher, e.g. due to a fine, if a single record is attacked successfully
      Parameters:
        `publisherLoss` - the publisherLoss to set

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`