org.bouncycastle.util

## Class Properties

- java.lang.Object
- - org.bouncycastle.util.Properties

-     public class Properties
      extends java.lang.Object

  Utility method for accessing properties values - properties can be set in java.security, thread local, and system properties. They are checked for in the same order with checking stopped as soon as a value is found.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `EMULATE_ORACLE` If set the provider will attempt, where possible, to behave the same way as the oracle one.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.math.BigInteger` | `asBigInteger(java.lang.String propertyName)` Return propertyName as a BigInteger.
    `static int` | `asInteger(java.lang.String propertyName, int defaultValue)` Return propertyName as an integer, defaultValue used if not defined.
    `static java.util.Set<java.lang.String>` | `asKeySet(java.lang.String propertyName)`
    `static java.lang.String` | `getPropertyValue(java.lang.String propertyName)` Return the String value of the property propertyName.
    `static java.lang.String` | `getPropertyValue(java.lang.String propertyName, java.lang.String defValue)`
    `static boolean` | `isOverrideSet(java.lang.String propertyName)` Return whether a particular override has been set to true.
    `static boolean` | `isOverrideSet(java.lang.String propertyName, boolean defIsTrue)` Return whether a particular override has been set to true.
    `static boolean` | `isOverrideSetTo(java.lang.String propertyName, boolean isTrue)` Return whether a particular override has been set to false.
    `static boolean` | `removeThreadOverride(java.lang.String propertyName)` Remove any value for the specified override property for the current thread only.
    `static boolean` | `setThreadOverride(java.lang.String propertyName, boolean enable)` Enable the specified override property for the current thread only.

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

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

- - ### Field Detail

    - #### EMULATE_ORACLE

          public static final java.lang.String EMULATE_ORACLE

      If set the provider will attempt, where possible, to behave the same way as the oracle one.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### isOverrideSet

          public static boolean isOverrideSet(java.lang.String propertyName)

      Return whether a particular override has been set to true.
      Parameters:
        `propertyName` - the property name for the override.
      Returns:
        true if the property is set to "true", false otherwise.

    - #### isOverrideSet

          public static boolean isOverrideSet(java.lang.String propertyName,
                                              boolean defIsTrue)

      Return whether a particular override has been set to true.
      Parameters:
        `propertyName` - the property name for the override.
      Returns:
        true if the property is set to "true", false otherwise.

    - #### isOverrideSetTo

          public static boolean isOverrideSetTo(java.lang.String propertyName,
                                                boolean isTrue)

      Return whether a particular override has been set to false.
      Parameters:
        `propertyName` - the property name for the override.
        `isTrue` - true if the override should be true, false otherwise.
      Returns:
        true if the property is set to the value of isTrue, false otherwise.

    - #### setThreadOverride

          public static boolean setThreadOverride(java.lang.String propertyName,
                                                  boolean enable)

      Enable the specified override property for the current thread only.
      Parameters:
        `propertyName` - the property name for the override.
        `enable` - true if the override should be enabled, false if it should be disabled.
      Returns:
        true if the override was already set true, false otherwise.

    - #### removeThreadOverride

          public static boolean removeThreadOverride(java.lang.String propertyName)

      Remove any value for the specified override property for the current thread only.
      Parameters:
        `propertyName` - the property name for the override.
      Returns:
        true if the override was already set true in thread local, false otherwise.

    - #### asInteger

          public static int asInteger(java.lang.String propertyName,
                                      int defaultValue)

      Return propertyName as an integer, defaultValue used if not defined.
      Parameters:
        `propertyName` - name of property.
        `defaultValue` - integer to return if property not defined.
      Returns:
        value of property, or default if not found, as an int.

    - #### asBigInteger

          public static java.math.BigInteger asBigInteger(java.lang.String propertyName)

      Return propertyName as a BigInteger.
      Parameters:
        `propertyName` - name of property.
      Returns:
        value of property as a BigInteger, null if not defined.

    - #### asKeySet

          public static java.util.Set<java.lang.String> asKeySet(java.lang.String propertyName)

    - #### getPropertyValue

          public static java.lang.String getPropertyValue(java.lang.String propertyName)

      Return the String value of the property propertyName. Property valuation starts with java.security, then thread local, then system properties.
      Parameters:
        `propertyName` - name of property.
      Returns:
        value of property as a String, null if not defined.

    - #### getPropertyValue

          public static java.lang.String getPropertyValue(java.lang.String propertyName,
                                                          java.lang.String defValue)