org.springframework.boot.loader.util

Class SystemPropertyUtils



  • public abstract class SystemPropertyUtils
    extends Object
    Helper class for resolving placeholders in texts. Usually applied to file paths.

    A text may contain $ ... placeholders, to be resolved as system properties: e.g. $ user.dir. Default values can be supplied using the ":" separator between key and value.

    Adapted from Spring.

    Author:
    Juergen Hoeller, Rob Harrop, Dave Syer
    See Also:
    System.getProperty(String)
    • Field Detail

      • PLACEHOLDER_PREFIX

        public static final String PLACEHOLDER_PREFIX
        Prefix for system property placeholders: "${".
        See Also:
        Constant Field Values
      • PLACEHOLDER_SUFFIX

        public static final String PLACEHOLDER_SUFFIX
        Suffix for system property placeholders: "}".
        See Also:
        Constant Field Values
      • VALUE_SEPARATOR

        public static final String VALUE_SEPARATOR
        Value separator for system property placeholders: ":".
        See Also:
        Constant Field Values
    • Constructor Detail

      • SystemPropertyUtils

        public SystemPropertyUtils()
    • Method Detail

      • resolvePlaceholders

        public static String resolvePlaceholders(String text)
        Resolve ${...} placeholders in the given text, replacing them with corresponding system property values.
        Parameters:
        text - the String to resolve
        Returns:
        the resolved String
        Throws:
        IllegalArgumentException - if there is an unresolvable placeholder
        See Also:
        PLACEHOLDER_PREFIX, PLACEHOLDER_SUFFIX
      • resolvePlaceholders

        public static String resolvePlaceholders(Properties properties,
                                                 String text)
        Resolve ${...} placeholders in the given text, replacing them with corresponding system property values.
        Parameters:
        properties - a properties instance to use in addition to System
        text - the String to resolve
        Returns:
        the resolved String
        Throws:
        IllegalArgumentException - if there is an unresolvable placeholder
        See Also:
        PLACEHOLDER_PREFIX, PLACEHOLDER_SUFFIX
      • getProperty

        public static String getProperty(String key)
      • getProperty

        public static String getProperty(String key,
                                         String defaultValue,
                                         String text)
        Search the System properties and environment variables for a value with the provided key. Environment variables in UPPER_CASE style are allowed where System properties would normally be lower.case.
        Parameters:
        key - the key to resolve
        defaultValue - the default value
        text - optional extra context for an error message if the key resolution fails (e.g. if System properties are not accessible)
        Returns:
        a static property value or null of not found