Class SafePropertyAccessor

java.lang.Object
org.jruby.util.SafePropertyAccessor

public class SafePropertyAccessor extends Object
Utility class to safely access system properties in security-sensitive environments.
  • Constructor Details

    • SafePropertyAccessor

      public SafePropertyAccessor()
  • Method Details

    • getBoolean

      public static boolean getBoolean(String property)
      An extension over Boolean.getBoolean method. Returns true if and only if the system property named by the argument exists and is equal to the string "true". If there is no property with the specified name, or if the specified name is empty or null, or if the access to the property is restricted, then false is returned.
      Parameters:
      property - The system property name.
      Returns:
      The boolean value of the system property.
    • getBoolean

      public static boolean getBoolean(String property, boolean defValue)
      An extension over Boolean.getBoolean method. Handles security restrictions, and provides default value in case when access to the property is restricted, of when the property does not exist.
      Parameters:
      property - The system property name.
      defValue - The default value.
      Returns:
      The boolean value of the system property, or the default value.
    • getProperty

      public static String getProperty(String property)
      An extension over System.getProperty method. Handles security restrictions, and returns null if the access to the property is restricted.
      Parameters:
      property - The system property name.
      Returns:
      The value of the system property, or the default value.
    • getProperty

      public static String getProperty(String property, String defValue)
      An extension over System.getProperty method. Handles security restrictions, and returns the default value if the access to the property is restricted.
      Parameters:
      property - The system property name.
      defValue - The default value.
      Returns:
      The value of the system property, or the default value.
    • getInt

      public static int getInt(String property)
      An extension over System.getProperty method that additionally produces an int value. Handles security restrictions, and returns 0 if the access to the property is restricted.
      Parameters:
      property - The system property name.
      Returns:
      The value of the system property, or the default value.
    • getInt

      public static int getInt(String property, int defValue)
      An extension over System.getProperty method that additionally produces an int value. Handles security restrictions, and returns the default value if the access to the property is restricted.
      Parameters:
      property - The system property name.
      defValue - The default value.
      Returns:
      The value of the system property, or the default value.
    • isSecurityProtected

      public static boolean isSecurityProtected(String property)
      Returns true if the access to the system property is restricted (i.e., when System.getProperty() throws SecurityException).
      Parameters:
      property - The system property name.
      Returns:
      true if the access is restricted, false otherwise.
    • getenv

      public static String getenv(String name)
      An extension over System.getenv method. Handles security restrictions, and returns null if the access to the environment variable is restricted.
      Parameters:
      name - The environment variable name.
      Returns:
      The value of the environment variable, or null.
    • getenv

      public static Map<String,String> getenv()
      An extension over System.getenv method. Handles security restrictions, and returns null if the access to the environment map is restricted.
      Returns:
      The map of the environment variables, or null.