Package 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, Stephane Nicoll

## Nested Class Summary

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

## Constructor Summary

Constructors
Constructor
Description
`PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix)`
Create a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix.
`PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix, String valueSeparator, boolean ignoreUnresolvablePlaceholders)`
Deprecated, for removal: This API element is subject to removal in a future version.
as of 6.2, in favor of `PropertyPlaceholderHelper(String, String, String, Character, boolean)`
`PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix, String valueSeparator, Character escapeCharacter, boolean ignoreUnresolvablePlaceholders)`
Create a new `PropertyPlaceholderHelper` that uses the supplied prefix and suffix.

## Method Summary

Modifier and Type
Method
Description
`protected String`
`parseStringValue(String value, PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver)`
Deprecated, for removal: This API element is subject to removal in a future version.
`String`
`replacePlaceholders(String value, Properties properties)`
Replace all placeholders of format `${name}` with the corresponding property from the supplied `Properties`.
`String`
`replacePlaceholders(String value, PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver)`
Replace 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 Details

### PropertyPlaceholderHelper

public PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix)
Create 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

@Deprecated(since="6.2", forRemoval=true) public PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix, @Nullable String valueSeparator, boolean ignoreUnresolvablePlaceholders)
Deprecated, for removal: This API element is subject to removal in a future version.
as of 6.2, in favor of `PropertyPlaceholderHelper(String, String, String, Character, boolean)`
Create 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`)

### PropertyPlaceholderHelper

public PropertyPlaceholderHelper(String placeholderPrefix, String placeholderSuffix, @Nullable String valueSeparator, @Nullable Character escapeCharacter, boolean ignoreUnresolvablePlaceholders)
Create 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
  `escapeCharacter` - the escape character to use to ignore placeholder prefix or value separator, if any
  `ignoreUnresolvablePlaceholders` - indicates whether unresolvable placeholders should be ignored (`true`) or cause an exception (`false`)
Since:
  6.2

## Method Details

### replacePlaceholders

public String replacePlaceholders(String value, Properties properties)
Replace 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)
Replace 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

@Deprecated(since="6.2.12", forRemoval=true) protected String parseStringValue(String value, PropertyPlaceholderHelper.PlaceholderResolver placeholderResolver)
Deprecated, for removal: This API element is subject to removal in a future version.