org.apache.commons.cli2.commandline
Class PreferencesCommandLine

java.lang.Object
  extended by org.apache.commons.cli2.commandline.CommandLineImpl
      extended by org.apache.commons.cli2.commandline.PreferencesCommandLine
All Implemented Interfaces:
CommandLine

public class PreferencesCommandLine
extends CommandLineImpl

A CommandLine implementation using the Preferences API, useful when constructing a complex DefaultingCommandLine This implementation uses the children of a single preference node to populate the CommandLine. Options are keyed from their preferred name and presence in the Preferences object is taken as presence in the CommandLine. Argument values are taken from the Preference value and are optionally separated using the separator char defined, at construction time. Switch values can be specified using a simple value of true or false; obviously this means that Switches with Arguments are not supported by this implementation.

See Also:
Preferences, DefaultingCommandLine, Option.getPreferredName()

Field Summary
private static char NUL
           
private  java.util.prefs.Preferences preferences
           
private  Option root
           
private  char separator
           
 
Constructor Summary
PreferencesCommandLine(Option root, java.util.prefs.Preferences preferences)
          Creates a new PreferencesCommandLine using the specified root Option and Preferences node.
PreferencesCommandLine(Option root, java.util.prefs.Preferences preferences, char separator)
          Creates a new PreferencesCommandLine using the specified root Option, Preferences node and value separator.
 
Method Summary
 Option getOption(java.lang.String trigger)
          Finds the Option with the specified trigger
 java.util.List getOptions()
          Retrieves a list of all Options found in this CommandLine
 java.util.Set getOptionTriggers()
          Retrieves a list of all Option triggers found in this CommandLine
 java.util.Set getProperties()
          Retrieves the set of all property names associated with this CommandLine
 java.lang.String getProperty(java.lang.String property, java.lang.String defaultValue)
          Retrieves the value associated with the specified property
 java.lang.Boolean getSwitch(Option option, java.lang.Boolean defaultValue)
          Retrieves the Boolean value associated with the specified Switch
 java.util.List getValues(Option option, java.util.List defaultValues)
          Retrieves the Argument values associated with the specified Option
 boolean hasOption(Option option)
          Detects the presence of an option in this CommandLine.
 
Methods inherited from class org.apache.commons.cli2.commandline.CommandLineImpl
getOptionCount, getOptionCount, getProperty, getSwitch, getSwitch, getSwitch, getValue, getValue, getValue, getValue, getValues, getValues, getValues, hasOption
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NUL

private static final char NUL
See Also:
Constant Field Values

preferences

private final java.util.prefs.Preferences preferences

root

private final Option root

separator

private final char separator
Constructor Detail

PreferencesCommandLine

public PreferencesCommandLine(Option root,
                              java.util.prefs.Preferences preferences)
Creates a new PreferencesCommandLine using the specified root Option and Preferences node. Argument values will be separated using the char 0.

Parameters:
root - the CommandLine's root Option
preferences - the Preferences node to get values from

PreferencesCommandLine

public PreferencesCommandLine(Option root,
                              java.util.prefs.Preferences preferences,
                              char separator)
Creates a new PreferencesCommandLine using the specified root Option, Preferences node and value separator.

Parameters:
root - the CommandLine's root Option
preferences - the Preferences node to get values from
separator - the character to split argument values
Method Detail

hasOption

public boolean hasOption(Option option)
Description copied from interface: CommandLine
Detects the presence of an option in this CommandLine.

Parameters:
option - the Option to search for
Returns:
true iff the option is present

getOption

public Option getOption(java.lang.String trigger)
Description copied from interface: CommandLine
Finds the Option with the specified trigger

Parameters:
trigger - the name of the option to retrieve
Returns:
the Option matching the trigger or null if none exists

getValues

public java.util.List getValues(Option option,
                                java.util.List defaultValues)
Description copied from interface: CommandLine
Retrieves the Argument values associated with the specified Option

Parameters:
option - the Option associated with the values
defaultValues - the result to return if no values are found
Returns:
a list of values or defaultValues if none are found

getSwitch

public java.lang.Boolean getSwitch(Option option,
                                   java.lang.Boolean defaultValue)
Description copied from interface: CommandLine
Retrieves the Boolean value associated with the specified Switch

Parameters:
option - the Option associated with the value
defaultValue - the Boolean to use if none match
Returns:
the Boolean associated with option or defaultValue if none exists

getProperty

public java.lang.String getProperty(java.lang.String property,
                                    java.lang.String defaultValue)
Description copied from interface: CommandLine
Retrieves the value associated with the specified property

Parameters:
property - the property name to lookup
defaultValue - the value to use if no other is found
Returns:
the value of the property or defaultValue

getProperties

public java.util.Set getProperties()
Description copied from interface: CommandLine
Retrieves the set of all property names associated with this CommandLine

Returns:
a none null set of property names

getOptions

public java.util.List getOptions()
Description copied from interface: CommandLine
Retrieves a list of all Options found in this CommandLine

Returns:
a none null list of Options

getOptionTriggers

public java.util.Set getOptionTriggers()
Description copied from interface: CommandLine
Retrieves a list of all Option triggers found in this CommandLine

Returns:
a none null list of Option triggers