com.jogamp.common.util

## Class PropertyAccess

- java.lang.Object
- - com.jogamp.common.util.PropertyAccess

-     public class PropertyAccess
      extends Object

  Helper routines for accessing properties.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `javaws_prefix` trusted build-in property prefix 'javaws.'
    `static String` | `jnlp_prefix` trusted build-in property prefix 'jnlp.'

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PropertyAccess()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static void` | `addTrustedPrefix(String prefix)`
    `static boolean` | `getBooleanProperty(String property, boolean jnlpAlias)`
    `static boolean` | `getBooleanProperty(String property, boolean jnlpAlias, boolean defaultValue)`
    `static int` | `getIntProperty(String property, boolean jnlpAlias, int defaultValue)`
    `static long` | `getLongProperty(String property, boolean jnlpAlias, long defaultValue)`
    `static String` | `getProperty(String propertyKey, boolean jnlpAlias)` Query the property with the name `propertyKey`.
    `static String` | `getProperty(String propertyKey, boolean jnlpAlias, String defaultValue)` See `getProperty(String, boolean)`, additionally allows a `defaultValue` if property value is `null`.
    `static boolean` | `isPropertyDefined(String property, boolean jnlpAlias)`
    `static boolean` | `isTrusted(String propertyKey)`

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

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

- - ### Field Detail

    - #### jnlp_prefix

          public static final String jnlp_prefix

      trusted build-in property prefix 'jnlp.'
      See Also:
        Constant Field Values

    - #### javaws_prefix

          public static final String javaws_prefix

      trusted build-in property prefix 'javaws.'
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PropertyAccess

          public PropertyAccess()

  - ### Method Detail

    - #### addTrustedPrefix

          protected static final void addTrustedPrefix(String prefix)
                                                throws AccessControlException

      Parameters:
        `prefix` - New prefix to be registered as trusted.
      Throws:
        `AccessControlException` - as thrown by `SecurityUtil.checkAllPermissions()`.

    - #### isTrusted

          public static final boolean isTrusted(String propertyKey)

    - #### getIntProperty

          public static final int getIntProperty(String property,
                           boolean jnlpAlias,
                           int defaultValue)

      See Also:
        `getProperty(String, boolean)`

    - #### getLongProperty

          public static final long getLongProperty(String property,
                             boolean jnlpAlias,
                             long defaultValue)

      See Also:
        `getProperty(String, boolean)`

    - #### getBooleanProperty

          public static final boolean getBooleanProperty(String property,
                                   boolean jnlpAlias)

      See Also:
        `getProperty(String, boolean)`

    - #### getBooleanProperty

          public static final boolean getBooleanProperty(String property,
                                   boolean jnlpAlias,
                                   boolean defaultValue)

      See Also:
        `getProperty(String, boolean)`

    - #### isPropertyDefined

          public static final boolean isPropertyDefined(String property,
                                  boolean jnlpAlias)

      See Also:
        `getProperty(String, boolean)`

    - #### getProperty

          public static final String getProperty(String propertyKey,
                           boolean jnlpAlias)
                                          throws SecurityException,
                                                 NullPointerException,
                                                 IllegalArgumentException

      Query the property with the name `propertyKey`.

      If `jnlpAlias` is `true` and the plain `propertyKey` could not be resolved, an attempt to resolve the JNLP aliased trusted property is made.
      Example: For the propertyName `OneTwo`, the jnlp alias name is `jnlp.OneTwo`, which is considered trusted.

      Parameters:
        `propertyKey` - the property name to query.
        `jnlpAlias` - true if a fallback attempt to query the JNLP aliased trusted property shall be made, otherwise false.
      Returns:
        the property value if exists, or null
      Throws:
        `NullPointerException` - if the property name is null
        `IllegalArgumentException` - if the property name is of length 0
        `SecurityException` - if access is not allowed to the given `propertyKey`
      See Also:
        `System.getProperty(String)`

    - #### getProperty

          public static final String getProperty(String propertyKey,
                           boolean jnlpAlias,
                           String defaultValue)
                                          throws SecurityException,
                                                 NullPointerException,
                                                 IllegalArgumentException

      See `getProperty(String, boolean)`, additionally allows a `defaultValue` if property value is `null`.
      Throws:
        `SecurityException`
        `NullPointerException`
        `IllegalArgumentException`