org.springframework.util

## Class SystemPropertyUtils

- java.lang.Object
- - org.springframework.util.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.

  Since:
    1.2.5
  Author:
    Juergen Hoeller, Rob Harrop, Dave Syer
  See Also:
    `PLACEHOLDER_PREFIX`, `PLACEHOLDER_SUFFIX`, `System.getProperty(String)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PLACEHOLDER_PREFIX` Prefix for system property placeholders: "${".
    `static String` | `PLACEHOLDER_SUFFIX` Suffix for system property placeholders: "}".
    `static String` | `VALUE_SEPARATOR` Value separator for system property placeholders: ":".

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SystemPropertyUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `resolvePlaceholders(String text)` Resolve `${...}` placeholders in the given text, replacing them with corresponding system property values.
    `static String` | `resolvePlaceholders(String text, boolean ignoreUnresolvablePlaceholders)` Resolve `${...}` placeholders in the given text, replacing them with corresponding system property values.

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

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

- - ### 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(String text,
                                                   boolean ignoreUnresolvablePlaceholders)

      Resolve `${...}` placeholders in the given text, replacing them with corresponding system property values. Unresolvable placeholders with no default value are ignored and passed through unchanged if the flag is set to `true`.
      Parameters:
        `text` - the String to resolve
        `ignoreUnresolvablePlaceholders` - whether unresolved placeholders are to be ignored
      Returns:
        the resolved String
      Throws:
        `IllegalArgumentException` - if there is an unresolvable placeholder
      See Also:
        `PLACEHOLDER_PREFIX`, `and the "ignoreUnresolvablePlaceholders" flag is {@code false}`