Class StringPropertyReplacer

    • Field Detail

      • NEWLINE

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

      • StringPropertyReplacer

        public StringPropertyReplacer()
    • Method Detail

      • 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.