org.apache.felix.utils.properties
Class InterpolationHelper

java.lang.Object
  extended by org.apache.felix.utils.properties.InterpolationHelper

public class InterpolationHelper
extends java.lang.Object

Enhancement of the standard Properties managing the maintain of comments, etc.

Author:
gnodet, jbonofre

Method Summary
static void performSubstitution(java.util.Map<java.lang.String,java.lang.String> properties)
          Perform substitution on a property set
static void performSubstitution(java.util.Map<java.lang.String,java.lang.String> properties, org.osgi.framework.BundleContext context)
          Perform substitution on a property set
static java.lang.String substVars(java.lang.String val, java.lang.String currentKey, java.util.Map<java.lang.String,java.lang.String> cycleMap, java.util.Map<java.lang.String,java.lang.String> configProps, org.osgi.framework.BundleContext context)
           This method performs property variable substitution on the specified value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

performSubstitution

public static void performSubstitution(java.util.Map<java.lang.String,java.lang.String> properties)
Perform substitution on a property set

Parameters:
properties - the property set to perform substitution on

performSubstitution

public static void performSubstitution(java.util.Map<java.lang.String,java.lang.String> properties,
                                       org.osgi.framework.BundleContext context)
Perform substitution on a property set

Parameters:
properties - the property set to perform substitution on

substVars

public static java.lang.String substVars(java.lang.String val,
                                         java.lang.String currentKey,
                                         java.util.Map<java.lang.String,java.lang.String> cycleMap,
                                         java.util.Map<java.lang.String,java.lang.String> configProps,
                                         org.osgi.framework.BundleContext context)
                                  throws java.lang.IllegalArgumentException

This method performs property variable substitution on the specified value. If the specified value contains the syntax ${<prop-name>}, where <prop-name> refers to either a configuration property or a system property, then the corresponding property value is substituted for the variable placeholder. Multiple variable placeholders may exist in the specified value as well as nested variable placeholders, which are substituted from inner most to outer most. Configuration properties override system properties.

Parameters:
val - The string on which to perform property substitution.
currentKey - The key of the property being evaluated used to detect cycles.
cycleMap - Map of variable references used to detect nested cycles.
configProps - Set of configuration properties.
context - the bundle context to retrieve properties from
Returns:
The value of the specified string after system property substitution.
Throws:
java.lang.IllegalArgumentException - If there was a syntax error in the property placeholder syntax or a recursive variable reference.


Copyright © 2011. All Rights Reserved.