net.dpml.cli.option

Class Switch

public class Switch extends ParentImpl

A Parent implementation representing normal switch options. For example: +d|-d or --enable-x|--disable-x.

Version: @PROJECT-VERSION@

Author: @PUBLISHER-NAME@

Field Summary
static StringDEFAULT_DISABLED_PREFIX
The default prefix for disabled switches
static StringDEFAULT_ENABLED_PREFIX
The default prefix for enabled switches
static ResourceHelperRESOURCES
i18n
Constructor Summary
Switch(String enabledPrefix, String disabledPrefix, String preferredName, Set aliases, String description, boolean required, Argument argument, Group children, int id, Boolean switchDefault)
Creates a new Switch with the specified parameters
Method Summary
voidappendUsage(StringBuffer buffer, Set helpSettings, Comparator comp)
Appends usage information to the specified StringBuffer
voiddefaults(WriteableCommandLine commandLine)
Adds defaults to a CommandLine.
StringgetPreferredName()
The preferred name of an option is used for generating help and usage information.
SetgetPrefixes()
Identifies the argument prefixes that should be considered options.
SetgetTriggers()
Identifies the argument prefixes that should trigger this option.
voidprocessParent(WriteableCommandLine commandLine, ListIterator arguments)
Processes the parent part of the Option.
voidvalidate(WriteableCommandLine commandLine)
Checks that the supplied CommandLine is valid with respect to this option.

Field Detail

DEFAULT_DISABLED_PREFIX

public static final String DEFAULT_DISABLED_PREFIX
The default prefix for disabled switches

DEFAULT_ENABLED_PREFIX

public static final String DEFAULT_ENABLED_PREFIX
The default prefix for enabled switches

RESOURCES

public static final ResourceHelper RESOURCES
i18n

Constructor Detail

Switch

public Switch(String enabledPrefix, String disabledPrefix, String preferredName, Set aliases, String description, boolean required, Argument argument, Group children, int id, Boolean switchDefault)
Creates a new Switch with the specified parameters

Parameters: enabledPrefix the prefix used for enabled switches disabledPrefix the prefix used for disabled switches preferredName the preferred name of the switch aliases the aliases by which the Switch is known description a description of the Switch required whether the Option is strictly required argument the Argument belonging to this Parent, or null children the Group children belonging to this Parent, ot null id the unique identifier for this Option switchDefault the switch default value

Throws: IllegalArgumentException if the preferredName or an alias isn't prefixed with enabledPrefix or disabledPrefix

Method Detail

appendUsage

public void appendUsage(StringBuffer buffer, Set helpSettings, Comparator comp)
Appends usage information to the specified StringBuffer

Parameters: buffer the buffer to append to helpSettings a set of display settings @see DisplaySetting comp a comparator used to sort the Options

defaults

public void defaults(WriteableCommandLine commandLine)
Adds defaults to a CommandLine. Any defaults for this option are applied as well as the defaults for any contained options

Parameters: commandLine the CommandLine object to store defaults in

getPreferredName

public String getPreferredName()
The preferred name of an option is used for generating help and usage information.

Returns: The preferred name of the option

getPrefixes

public Set getPrefixes()
Identifies the argument prefixes that should be considered options. This is used to identify whether a given string looks like an option or an argument value. Typically an option would return the set [--,-] while switches might offer [-,+]. The returned Set must not be null.

Returns: The set of prefixes for this Option

getTriggers

public Set getTriggers()
Identifies the argument prefixes that should trigger this option. This is used to decide which of many Options should be tried when processing a given argument string. The returned Set must not be null.

Returns: The set of triggers for this Option

processParent

public void processParent(WriteableCommandLine commandLine, ListIterator arguments)
Processes the parent part of the Option. The combination of parent, argument and children is handled by the process method.

Parameters: commandLine the CommandLine to write results to arguments a ListIterator over argument strings positioned at the next argument to process

Throws: OptionException if an error occurs while processing

See Also:

validate

public void validate(WriteableCommandLine commandLine)
Checks that the supplied CommandLine is valid with respect to this option.

Parameters: commandLine the CommandLine to check.

Throws: OptionException if the CommandLine is not valid.