Class StringPropertyReplacer


  • public final class StringPropertyReplacer
    extends java.lang.Object
    A utility class for replacing properties in strings.
    Version:
    $Revision$
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String replaceProperties​(java.lang.String string)
      Go through the input string and replace any occurance of ${p} with the System.getProperty(p) value.
      static java.lang.String replaceProperties​(java.lang.String string, java.util.Properties props)
      Go through the input string and replace any occurance of ${p} with the props.getProperty(p) value.
      private static java.lang.String resolveCompositeKey​(java.lang.String key, java.util.Properties props)
      Try to resolve a "key" from the provided properties by checking if it is actually a "key1,key2", in which case try first "key1", then "key2".
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NEWLINE

        public static final java.lang.String NEWLINE
        New line string constant
      • FILE_SEPARATOR

        private static final java.lang.String FILE_SEPARATOR
        File separator value
      • PATH_SEPARATOR

        private static final java.lang.String PATH_SEPARATOR
        Path separator value
      • FILE_SEPARATOR_ALIAS

        private static final java.lang.String FILE_SEPARATOR_ALIAS
        File separator alias
        See Also:
        Constant Field Values
      • PATH_SEPARATOR_ALIAS

        private static final java.lang.String PATH_SEPARATOR_ALIAS
        Path separator alias
        See Also:
        Constant Field Values
    • Constructor Detail

      • StringPropertyReplacer

        public StringPropertyReplacer()
    • Method Detail

      • replaceProperties

        public static java.lang.String replaceProperties​(java.lang.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").
        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 java.lang.String replaceProperties​(java.lang.String string,
                                                         java.util.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.
      • resolveCompositeKey

        private static java.lang.String resolveCompositeKey​(java.lang.String key,
                                                            java.util.Properties props)
        Try to resolve a "key" from the provided properties by checking if it is actually a "key1,key2", in which case try first "key1", then "key2". If all fails, return null. It also accepts "key1," and ",key2".
        Parameters:
        key - the key to resolve
        props - the properties to use
        Returns:
        the resolved key or null