org.elasticsearch.common.property
Class PropertyPlaceholder

java.lang.Object
  extended by org.elasticsearch.common.property.PropertyPlaceholder

public class PropertyPlaceholder
extends Object

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

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


Nested Class Summary
static interface PropertyPlaceholder.PlaceholderResolver
          Strategy interface used to resolve replacement values for placeholders contained in Strings.
 
Constructor Summary
PropertyPlaceholder(String placeholderPrefix, String placeholderSuffix)
          Creates a new PropertyPlaceholderHelper that uses the supplied prefix and suffix.
PropertyPlaceholder(String placeholderPrefix, String placeholderSuffix, boolean ignoreUnresolvablePlaceholders)
          Creates a new PropertyPlaceholderHelper that uses the supplied prefix and suffix.
 
Method Summary
protected  String parseStringValue(String strVal, PropertyPlaceholder.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, PropertyPlaceholder.PlaceholderResolver placeholderResolver)
          Replaces all placeholders of format ${name} with the value returned from the supplied PropertyPlaceholder.PlaceholderResolver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyPlaceholder

public PropertyPlaceholder(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.

PropertyPlaceholder

public PropertyPlaceholder(String placeholderPrefix,
                           String placeholderSuffix,
                           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,
                                  PropertyPlaceholder.PlaceholderResolver placeholderResolver)
Replaces all placeholders of format ${name} with the value returned from the supplied PropertyPlaceholder.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,
                                  PropertyPlaceholder.PlaceholderResolver placeholderResolver,
                                  Set<String> visitedPlaceholders)


Copyright © 2009-2012. All Rights Reserved.