common.cmdline
Class PropertiesOption

java.lang.Object
  extended by common.cmdline.AbstractOption
      extended by common.cmdline.PropertiesOption
All Implemented Interfaces:
Option

public class PropertiesOption
extends AbstractOption

Option whose values are key-value pairs, represented as strings of the form key=val. If this option occurs with a value that does not contain an equals sign, then this class prints an error message and exits the program. This option is allowed to occur multiple times on a command line. The key-value pairs are accumulated in a Properties object.


Field Summary
 
Fields inherited from class common.cmdline.AbstractOption
DOC_OFFSET, longForms, occurred, shortForms
 
Constructor Summary
PropertiesOption(java.lang.String shortForm, java.lang.String longForm, java.util.Properties defaults, java.lang.String docStr)
          Creates a Properties option and registers it with the Parser class.
 
Method Summary
 boolean expectsValue()
          Returns true if this option expects a value on the command line.
 java.lang.String getUsageString()
          Returns a string that documents the option.
 java.util.Properties getValue()
          Returns a Properties object containing the key-value pairs that were specified for this option on the command line.
 void recordOccurrence(java.lang.String form, java.lang.String valueStr)
          This default implementation prints a warning if this option has already been occurred.
 
Methods inherited from class common.cmdline.AbstractOption
getLongForms, getShortForms, toString, wasPresent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PropertiesOption

public PropertiesOption(java.lang.String shortForm,
                        java.lang.String longForm,
                        java.util.Properties defaults,
                        java.lang.String docStr)
Creates a Properties option and registers it with the Parser class. By convention, a Properties option has a short form that is a capital letter, and no long form (but these conventions are not enforced).

Parameters:
shortForm - single-character form of the option, or null for an option with no short form
longForm - long form of the option, or null for an option with no long form
defaults - Properties object containing defaults for the Properties object that will be returned. If null, the object returned has no defaults (i.e., it contains no keys by default).
docStr - short (preferably less than 40 characters) string specifying what this option's key-value pairs influence
Method Detail

expectsValue

public boolean expectsValue()
Description copied from interface: Option
Returns true if this option expects a value on the command line.


recordOccurrence

public void recordOccurrence(java.lang.String form,
                             java.lang.String valueStr)
Description copied from class: AbstractOption
This default implementation prints a warning if this option has already been occurred. It also sets the occurred member variable to true. However, it does not parse or record the value.

Specified by:
recordOccurrence in interface Option
Overrides:
recordOccurrence in class AbstractOption
Parameters:
form - specifies the particular long or short form of the option that was used
valueStr - the given value, or null if no value was given. The parser will only pass null for this parameter if expectsValue returns false; otherwise, if the value is missing, the parser will not call this method.

getUsageString

public java.lang.String getUsageString()
Description copied from interface: Option
Returns a string that documents the option. This string should fit on one 80-column line.


getValue

public java.util.Properties getValue()
Returns a Properties object containing the key-value pairs that were specified for this option on the command line. The default entries for this Properties object are given by the default Properties object passed to the constructor (if any).