org.springframework.util

## Class PropertyPlaceholderHelper

- java.lang.Object
- - org.springframework.util.PropertyPlaceholderHelper

-     public class PropertyPlaceholderHelper
      extends Object

  Utility class for working with Strings that have placeholder values in them. A placeholder takes the form `${name}`. Using `PropertyPlaceholderHelper` these placeholders can be substituted for user-supplied values.

  Values for substitution can be supplied using a `Properties` instance or using a `PropertyPlaceholderHelper.PlaceholderResolver`.

  Since:
    3.0
  Author:
    Juergen Hoeller, Rob Harrop

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `PropertyPlaceholderHelper.PlaceholderResolver` Strategy interface used to resolve replacement values for placeholders contained in Strings.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix)` Creates a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix.
    `PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix, String valueSeparator, boolean ignoreUnresolvablePlaceholders)` Creates a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `parseStringValue(String strVal, PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver, Set<String> visitedPlaceholders)`
    `String` | `replacePlaceholders(String value, Properties properties)` Replaces all placeholders of format `${name}` with the corresponding property from the supplied `Properties`.
    `String` | `replacePlaceholders(String value, PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver)` Replaces all placeholders of format `${name}` with the value returned from the supplied `PropertyPlaceholderHelper.PlaceholderResolver`.

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

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

- - ### Constructor Detail

    - #### PropertyPlaceholderHelper

          public PropertyPlaceholderHelper(String placeholderPrefix,
                                   String placeholderSuffix)

      Creates a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix. Unresolvable placeholders are ignored.
      Parameters:
        `placeholderPrefix` - the prefix that denotes the start of a placeholder.
        `placeholderSuffix` - the suffix that denotes the end of a placeholder.

    - #### PropertyPlaceholderHelper

          public PropertyPlaceholderHelper(String placeholderPrefix,
                                   String placeholderSuffix,
                                   String valueSeparator,
                                   boolean ignoreUnresolvablePlaceholders)

      Creates a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix.
      Parameters:
        `placeholderPrefix` - the prefix that denotes the start of a placeholder
        `placeholderSuffix` - the suffix that denotes the end of a placeholder
        `valueSeparator` - the separating character between the placeholder variable and the associated default value, if any
        `ignoreUnresolvablePlaceholders` - indicates whether unresolvable placeholders should be ignored (`true`) or cause an exception (`false`).

  - ### Method Detail

    - #### replacePlaceholders

          public String replacePlaceholders(String value,
                                   Properties properties)

      Replaces all placeholders of format `${name}` with the corresponding property from the supplied `Properties`.
      Parameters:
        `value` - the value containing the placeholders to be replaced.
        `properties` - the `Properties` to use for replacement.
      Returns:
        the supplied value with placeholders replaced inline.

    - #### replacePlaceholders

          public String replacePlaceholders(String value,
                                   PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver)

      Replaces all placeholders of format `${name}` with the value returned from the supplied `PropertyPlaceholderHelper.PlaceholderResolver`.
      Parameters:
        `value` - the value containing the placeholders to be replaced.
        `placeholderResolver` - the `PlaceholderResolver` to use for replacement.
      Returns:
        the supplied value with placeholders replaced inline.

    - #### parseStringValue

          protected String parseStringValue(String strVal,
                                PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver,
                                Set<String> visitedPlaceholders)