net.dpml.cli.commandline

Class DefaultingCommandLine

Implemented Interfaces:
CommandLine

public class DefaultingCommandLine
extends CommandLineImpl

Manages a queue of default CommandLines. This CommandLine implementation is backed by a queue of CommandLine instances which are queried in turn until a suitable result is found. CommandLine instances can either be added to the back of the queue or can be pushed in at a specific position.
Version:
@PROJECT-VERSION@
Author:
@PUBLISHER-NAME@
See Also:
appendCommandLine(CommandLine), insertCommandLine(int,CommandLine)

Method Summary

void
appendCommandLine(CommandLine commandLine)
Adds a CommandLine instance to the back of the queue.
Iterator
commandLines()
Builds an iterator over the build in CommandLines.
Option
getOption(String trigger)
Finds the Option with the specified trigger
Set
getOptionTriggers()
Retrieves a list of all Option triggers found in this CommandLine
List
getOptions()
Retrieves a list of all Options found in this CommandLine
Set
getProperties()
Retrieves the set of all property names associated with this CommandLine
String
getProperty(String property, String defaultValue)
Retrieves the value associated with the specified property
Boolean
getSwitch(Option option, Boolean defaultValue)
Retrieves the Boolean value associated with the specified Switch
List
getValues(Option option, List defaultValues)
Retrieves the Argument values associated with the specified Option
boolean
hasOption(Option option)
Detects the presence of an option in this CommandLine.
void
insertCommandLine(int index, CommandLine commandLine)
Adds a CommandLine instance to a specified position in the queue.

Methods inherited from class net.dpml.cli.commandline.CommandLineImpl

getOptionCount, getOptionCount, getProperty, getSwitch, getSwitch, getSwitch, getValue, getValue, getValue, getValue, getValues, getValues, getValues, hasOption

Method Details

appendCommandLine

public void appendCommandLine(CommandLine commandLine)
Adds a CommandLine instance to the back of the queue. The supplied CommandLine will be used as defaults when all other CommandLines produce no result
Parameters:
commandLine - the default values to use if all CommandLines

commandLines

public Iterator commandLines()
Builds an iterator over the build in CommandLines.
Returns:
an unmodifiable iterator

getOption

public Option getOption(String trigger)
Finds the Option with the specified trigger
Specified by:
getOption in interface CommandLine
Parameters:
trigger - the name of the option to retrieve
Returns:
the Option matching the trigger or null if none exists

getOptionTriggers

public Set getOptionTriggers()
Retrieves a list of all Option triggers found in this CommandLine
Specified by:
getOptionTriggers in interface CommandLine
Returns:
a none null list of Option triggers

getOptions

public List getOptions()
Retrieves a list of all Options found in this CommandLine
Specified by:
getOptions in interface CommandLine
Returns:
a none null list of Options

getProperties

public Set getProperties()
Retrieves the set of all property names associated with this CommandLine
Specified by:
getProperties in interface 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
Specified by:
getProperty in interface CommandLine
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
Specified by:
getSwitch in interface CommandLine
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
Specified by:
getValues in interface CommandLine
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.
Specified by:
hasOption in interface CommandLine
Parameters:
option - the Option to search for
Returns:
true iff the option is present

insertCommandLine

public void insertCommandLine(int index,
                              CommandLine commandLine)
Adds a CommandLine instance to a specified position in the queue.
Parameters:
index - ths position at which to insert
commandLine - the CommandLine to insert