Class PropertyUtils

java.lang.Object
org.apache.maven.shared.filtering.PropertyUtils

public final class PropertyUtils extends Object
  • Constructor Details

    • PropertyUtils

      private PropertyUtils()
      Private empty constructor to prevent instantiation.
  • Method Details

    • loadPropertyFile

      public static Properties loadPropertyFile(File propFile, Properties baseProps) throws IOException
      Reads a property file, resolving all internal variables, using the supplied base properties.

      The properties are resolved iteratively, so if the value of property A refers to property B, then after resolution the value of property B will contain the value of property B.

      Parameters:
      propFile - The property file to load.
      baseProps - Properties containing the initial values to substitute into the properties file.
      Returns:
      Properties object containing the properties in the file with their values fully resolved.
      Throws:
      IOException - if profile does not exist, or cannot be read.
    • loadPropertyFile

      public static Properties loadPropertyFile(File propFile, Properties baseProps, org.codehaus.plexus.logging.Logger logger) throws IOException
      Reads a property file, resolving all internal variables, using the supplied base properties.

      The properties are resolved iteratively, so if the value of property A refers to property B, then after resolution the value of property B will contain the value of property B.

      Parameters:
      propFile - The property file to load.
      baseProps - Properties containing the initial values to substitute into the properties file.
      logger - Logger instance
      Returns:
      Properties object containing the properties in the file with their values fully resolved.
      Throws:
      IOException - if profile does not exist, or cannot be read.
      Since:
      3.1.2
    • loadPropertyFile

      public static Properties loadPropertyFile(File propfile, boolean fail, boolean useSystemProps) throws IOException
      Reads a property file, resolving all internal variables.
      Parameters:
      propfile - The property file to load
      fail - whether to throw an exception when the file cannot be loaded or to return null
      useSystemProps - whether to incorporate System.getProperties settings into the returned Properties object.
      Returns:
      the loaded and fully resolved Properties object
      Throws:
      IOException - if profile does not exist, or cannot be read.
    • loadPropertyFile

      public static Properties loadPropertyFile(File propfile, boolean fail, boolean useSystemProps, org.codehaus.plexus.logging.Logger logger) throws IOException
      Reads a property file, resolving all internal variables.
      Parameters:
      propfile - The property file to load
      fail - whether to throw an exception when the file cannot be loaded or to return null
      useSystemProps - whether to incorporate System.getProperties settings into the returned Properties object.
      logger - Logger instance
      Returns:
      the loaded and fully resolved Properties object
      Throws:
      IOException - if profile does not exist, or cannot be read.
      Since:
      3.1.2
    • getPropertyValue

      private static String getPropertyValue(String k, Properties p, org.codehaus.plexus.logging.Logger logger)
      Retrieves a property value, replacing values like ${token} using the Properties to look them up. It will leave unresolved properties alone, trying for System properties, and implements reparsing (in the case that the value of a property contains a key), and will not loop endlessly on a pair like test = ${test}.
      Parameters:
      k -
      p -
      logger - Logger instance
      Returns:
      The filtered property value.
    • logCircularDetection

      private static void logCircularDetection(List<String> valueChain, String nk, org.codehaus.plexus.logging.Logger logger)
      Logs the detected cycle in properties resolution
      Parameters:
      valueChain - the sequence of properties resolved so far
      nk - the key the closes the cycle
      logger - Logger instance