org.springframework.util
Class PropertyPlaceholderHelper

java.lang.Object
  extended by 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
static interface PropertyPlaceholderHelper.PlaceholderResolver
          Strategy interface used to resolve replacement values for placeholders contained in Strings.
 
Constructor Summary
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
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.
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)