net.dpml.cli.commandline

Class PreferencesCommandLine

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.

Version: @PROJECT-VERSION@

Author: @PUBLISHER-NAME@

See Also: java.util.prefs.Preferences DefaultingCommandLine getPreferredName

Constructor Summary
PreferencesCommandLine(Option root, Preferences preferences)
Creates a new PreferencesCommandLine using the specified root Option and Preferences node.
PreferencesCommandLine(Option root, Preferences preferences, char separator)
Creates a new PreferencesCommandLine using the specified root Option, Preferences node and value separator.
Method Summary
OptiongetOption(String trigger)
Finds the Option with the specified trigger
ListgetOptions()
Retrieves a list of all Options found in this CommandLine
SetgetOptionTriggers()
Retrieves a list of all Option triggers found in this CommandLine
SetgetProperties()
Retrieves the set of all property names associated with this CommandLine
StringgetProperty(String property, String defaultValue)
Retrieves the value associated with the specified property
BooleangetSwitch(Option option, Boolean defaultValue)
Retrieves the Boolean value associated with the specified Switch
ListgetValues(Option option, List defaultValues)
Retrieves the Argument values associated with the specified Option
booleanhasOption(Option option)
Detects the presence of an option in this CommandLine.

Constructor Detail

PreferencesCommandLine

public PreferencesCommandLine(Option root, 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, 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

getOption

public Option getOption(String trigger)
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

getOptions

public List getOptions()
Retrieves a list of all Options found in this CommandLine

Returns: a none null list of Options

getOptionTriggers

public Set getOptionTriggers()
Retrieves a list of all Option triggers found in this CommandLine

Returns: a none null list of Option triggers

getProperties

public Set getProperties()
Retrieves the set of all property names associated with this CommandLine

Returns: a none null set of property names

getProperty

public String getProperty(String property, String defaultValue)
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

getSwitch

public Boolean getSwitch(Option option, Boolean defaultValue)
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

getValues

public List getValues(Option option, List defaultValues)
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

hasOption

public boolean hasOption(Option option)
Detects the presence of an option in this CommandLine.

Parameters: option the Option to search for

Returns: true iff the option is present