Class PropertyDefaultSource

java.lang.Object
com.martiansoftware.jsap.defaultsources.PropertyDefaultSource
All Implemented Interfaces:
DefaultSource

public class PropertyDefaultSource extends Object implements DefaultSource

A DefaultSource with values defined in a java.util.Properties object. In order to determine which parameter a value is associated with, each property key is first compared to each parameter's unique ID. Failing a match, each parameter's long flag is checked, and finally the short flags are checked. A PropertyDefaultSource may contain a mix of IDs, long flags, and short flags.

A PropertyDefaultSource is also incredibly useful as a configuration file loader. Multiple PropertyDefaultSources can be chained together in a JSAP in order to prioritize their entries (e.g., load "~/myproject.conf" first, then "/etc/myproject.conf").

Author:
Marty Lamb
See Also:
  • Constructor Details

    • PropertyDefaultSource

      public PropertyDefaultSource(String propertyFileName, boolean throwIOExceptions)
      Creates a new PropertyDefaultSource by loading the specified file. The file is loaded when the JSAP requests the defaults from this object.
      Parameters:
      propertyFileName - the name of the properties file containing the default values.
      throwIOExceptions - if true, any encountered IOExceptions will be re-thrown. Set this to false if you want to ignore any exceptions (e.g., specified file does not exist).
    • PropertyDefaultSource

      public PropertyDefaultSource(Properties properties)
      Creates a new PropertyDefaultSource based upon the specified Properties object.
      Parameters:
      properties - the Properties object containing the default values.
    • PropertyDefaultSource

      public PropertyDefaultSource(InputStream in, boolean throwIOExceptions)
      Creates a new PropertyDefaultSource based upon the specified InputStream.
      Parameters:
      in - the InputStream containing the Properties.
      throwIOExceptions - if true, any encountered IOExceptions will be re-thrown.
  • Method Details

    • getDefaults

      public Defaults getDefaults(IDMap idMap, ExceptionMap exceptionMap)
      Returns a Defaults object based upon this PropertyDefaultSource's properties and the specified IDMap. In order to determine which parameter a value is associated with, each property key is first compared to each parameter's unique ID. Failing a match, each parameter's long flag is checked, and finally the short flags are checked. A PropertyDefaultSource may contain a mix of IDs, long flags, and short flags.
      Specified by:
      getDefaults in interface DefaultSource
      Parameters:
      idMap - the IDMap containing the current JSAP configuration.
      exceptionMap - the ExceptionMap object within which any encountered exceptions will be thrown.
      Returns:
      a Defaults object based upon this PropertyDefaultSource's properties and the specified IDMap.
      See Also: