Class StringPropertyReplacer

java.lang.Object
org.infinispan.commons.util.StringPropertyReplacer

public class StringPropertyReplacer extends Object
A utility class for replacing properties in strings.
Since:
4.2
Author:
Jason Dillon, Scott Stark, Claudio Vesco, Adrian Brock, Dimitris Andreadis
  • Field Details

    • NEWLINE

      public static final String NEWLINE
      New line string constant
  • Constructor Details

    • StringPropertyReplacer

      public StringPropertyReplacer()
  • Method Details

    • replaceProperties

      public static String replaceProperties(String string)
      Go through the input string and replace any occurance of ${p} with the System.getProperty(p) value. If there is no such property p defined, then the ${p} reference will remain unchanged.

      If the property reference is of the form ${p:v} and there is no such property p, then the default value v will be returned.

      If the property reference is of the form ${p1,p2} or ${p1,p2:v} then the primary and the secondary properties will be tried in turn, before returning either the unchanged input, or the default value.

      The property ${/} is replaced with System.getProperty("file.separator") value and the property ${:} is replaced with System.getProperty("path.separator").

      Environment variables are referenced by the env. prefix, for example ${env.PATH}

      Parameters:
      string - - the string with possible ${} references
      Returns:
      the input string with all property references replaced if any. If there are no valid references the input string will be returned.
    • replaceProperties

      public static String replaceProperties(String string, Properties props)
      Go through the input string and replace any occurance of ${p} with the props.getProperty(p) value. If there is no such property p defined, then the ${p} reference will remain unchanged.

      If the property reference is of the form ${p:v} and there is no such property p, then the default value v will be returned.

      If the property reference is of the form ${p1,p2} or ${p1,p2:v} then the primary and the secondary properties will be tried in turn, before returning either the unchanged input, or the default value.

      The property ${/} is replaced with System.getProperty("file.separator") value and the property ${:} is replaced with System.getProperty("path.separator").

      Parameters:
      string - - the string with possible ${} references
      props - - the source for ${x} property ref values, null means use System.getProperty()
      Returns:
      the input string with all property references replaced if any. If there are no valid references the input string will be returned.
    • replaceProperties

      public static void replaceProperties(Map<String,String> map, Properties properties)