Class InterpolationHelper


  • public class InterpolationHelper
    extends java.lang.Object

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

    Author:
    gnodet, jbonofre
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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, InterpolationHelper.SubstitutionCallback callback)
      Perform substitution on a property set
      static void performSubstitution​(java.util.Map<java.lang.String,​java.lang.String> properties, InterpolationHelper.SubstitutionCallback callback, boolean substituteFromConfig, boolean substituteFromSystemProperties, boolean defaultsToEmptyString)
      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)
      This method performs property variable substitution on the specified value.
      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, InterpolationHelper.SubstitutionCallback callback)
      This method performs property variable substitution on the specified value.
      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, InterpolationHelper.SubstitutionCallback callback, boolean substituteFromConfig, boolean substituteFromSystemProperties, boolean defaultsToEmptyString)
      This method performs property variable substitution on the specified value.
      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
        context - The bundle context
      • performSubstitution

        public static void performSubstitution​(java.util.Map<java.lang.String,​java.lang.String> properties,
                                               InterpolationHelper.SubstitutionCallback callback)
        Perform substitution on a property set
        Parameters:
        properties - the property set to perform substitution on
        callback - Callback for substituion
      • performSubstitution

        public static void performSubstitution​(java.util.Map<java.lang.String,​java.lang.String> properties,
                                               InterpolationHelper.SubstitutionCallback callback,
                                               boolean substituteFromConfig,
                                               boolean substituteFromSystemProperties,
                                               boolean defaultsToEmptyString)
        Perform substitution on a property set
        Parameters:
        properties - the property set to perform substitution on
        callback - the callback to obtain substitution values
        substituteFromConfig - If substitute from configuration
        substituteFromSystemProperties - If substitute from system properties
        defaultsToEmptyString - sets an empty string if a replacement value is not found, leaves intact otherwise
      • 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)
                                          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.
        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.
      • 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.
      • 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,
                                                 InterpolationHelper.SubstitutionCallback callback)
                                          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.
        callback - the callback to obtain substitution values
        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.
      • 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,
                                                 InterpolationHelper.SubstitutionCallback callback,
                                                 boolean substituteFromConfig,
                                                 boolean substituteFromSystemProperties,
                                                 boolean defaultsToEmptyString)
                                          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.
        callback - the callback to obtain substitution values
        substituteFromConfig - If substitute from configuration
        substituteFromSystemProperties - If substitute from system properties
        defaultsToEmptyString - sets an empty string if a replacement value is not found, leaves intact otherwise
        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.