Class Settings_impl

java.lang.Object
org.apache.uima.util.impl.Settings_impl
All Implemented Interfaces:
Settings

public class Settings_impl extends Object implements Settings
Class that reads properties files containing external parameter overrides used by the ExternalOverrideSettings_impl class. Similar to java.util.Properties but: supports UTF-8 files reverses priority in that duplicate key values are ignored, i.e. values cannot be changed arrays are represented as strings, e.g. '[elem1,elem2]', and can span multiple lines '\' can be used to escape $ [ , ] and the line-end
Author:
burn
  • Field Details

  • Constructor Details

    • Settings_impl

      public Settings_impl()
  • Method Details

    • getKeys

      public Set<String> getKeys()
      Return a set of keys of all properties in the map
      Specified by:
      getKeys in interface Settings
      Returns:
      - set of strings
    • load

      public void load(InputStream in) throws IOException
      Load properties from an input stream. Existing properties are not changed and a warning is logged if the new value is different. May be called multiple times, so effective search is in load order. Arrays are enclosed in [] and the elements may be separated by , or new-line, so can span multiple lines without using a final \
      Specified by:
      load in interface Settings
      Parameters:
      in - - Stream holding properties
      Throws:
      IOException - if name characters illegal
    • loadSystemDefaults

      public void loadSystemDefaults() throws ResourceConfigurationException
      Load properties from the comma-separated list of resources specified in the system property UimaExternalOverrides Resource names may be specified with a prefix of "file:" or "path:". If the prefix is "path:" the name must use the Java-style dotted format, similar to an import by name. The name is converted to a URL with a suffix of ".settings" and is looked up in the datapath and classpath. If the prefix is "file:" or is omitted the filesystem is searched. Resources are loaded in list order. Duplicate properties are ignored so entries in a file override any in following files.
      Specified by:
      loadSystemDefaults in interface Settings
      Throws:
      ResourceConfigurationException - wraps IOException
    • lookUp

      public String lookUp(String name) throws ResourceConfigurationException
      Look up the value for a property. Recursively evaluate the value replacing references ${key} with the value of the key. Nested references such as ${name-${suffix}} are supported. Exceptions are thrown for circular references and undefined references. To avoid evaluation and get ${key} in the output escape the $ or {, e.g. \${key} Arrays are returned as a comma-separated string, e.g. "[elem1,elem2]" Note: escape characters are not removed as they may affect array separators. Used by getSetting and getSettingArray
      Specified by:
      lookUp in interface Settings
      Parameters:
      name - - name to look up
      Returns:
      - value of property
      Throws:
      ResourceConfigurationException - if the value references an undefined property
    • resolve

      public String resolve(String value) throws Exception
      Replace variable references in a string.
      Parameters:
      value - - String to scan for variable references
      Returns:
      - value with all references resolved and escapes processed
      Throws:
      Exception - -
    • getSetting

      public String getSetting(String name) throws ResourceConfigurationException
      Description copied from interface: Settings
      Get the value of an external override setting.
      Specified by:
      getSetting in interface Settings
      Parameters:
      name - - the name of the parameter
      Returns:
      - the value found in the settings file(s), or null if missing.
      Throws:
      ResourceConfigurationException - if the value references an undefined property, or the value is an array
      See Also:
    • getSettingArray

      public String[] getSettingArray(String name) throws ResourceConfigurationException
      Description copied from interface: Settings
      Get the array of values for an external override setting.
      Specified by:
      getSettingArray in interface Settings
      Parameters:
      name - - the name of the parameter
      Returns:
      - an array of values found in the settings file(s), or null if missing.
      Throws:
      ResourceConfigurationException - if the value references an undefined property, or the value is not an array
      See Also: