net.dpml.cli.option

Class DefaultOption

public class DefaultOption extends ParentImpl

A Parent implementation representing normal options.

Version: @PROJECT-VERSION@

Author: @PUBLISHER-NAME@

Field Summary
static booleanDEFAULT_BURST_ENABLED
The default value for the burstEnabled constructor parameter
static StringDEFAULT_LONG_PREFIX
The default token used to prefix a long option
static StringDEFAULT_SHORT_PREFIX
The default token used to prefix a short option
Constructor Summary
DefaultOption(String shortPrefix, String longPrefix, boolean burstEnabled, String preferredName, String description, Set aliases, Set burstAliases, boolean required, Argument argument, Group children, int id)
Creates a new DefaultOption
Method Summary
voidappendUsage(StringBuffer buffer, Set helpSettings, Comparator comp)
Appends usage information to the specified StringBuffer
booleancanProcess(WriteableCommandLine commandLine, String argument)
Indicates whether this Option will be able to process the particular argument.
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)
Process the parent.
voidvalidate(WriteableCommandLine commandLine)
Checks that the supplied CommandLine is valid with respect to this option.

Field Detail

DEFAULT_BURST_ENABLED

public static final boolean DEFAULT_BURST_ENABLED
The default value for the burstEnabled constructor parameter

DEFAULT_LONG_PREFIX

public static final String DEFAULT_LONG_PREFIX
The default token used to prefix a long option

DEFAULT_SHORT_PREFIX

public static final String DEFAULT_SHORT_PREFIX
The default token used to prefix a short option

Constructor Detail

DefaultOption

public DefaultOption(String shortPrefix, String longPrefix, boolean burstEnabled, String preferredName, String description, Set aliases, Set burstAliases, boolean required, Argument argument, Group children, int id)
Creates a new DefaultOption

Parameters: shortPrefix the prefix used for short options longPrefix the prefix used for long options burstEnabled should option bursting be enabled preferredName the preferred name for this Option, this should begin with either shortPrefix or longPrefix description a description of this Option aliases the alternative names for this Option burstAliases the aliases that can be burst 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

Throws: IllegalArgumentException if the preferredName or an alias isn't prefixed with shortPrefix or longPrefix

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

canProcess

public boolean canProcess(WriteableCommandLine commandLine, String argument)
Indicates whether this Option will be able to process the particular argument.

Parameters: commandLine the CommandLine object to store defaults in argument the argument to be tested

Returns: true if the argument can be processed by this Option

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)
Process the parent.

Parameters: commandLine the CommandLine object to store defaults in arguments the ListIterator over String arguments

Throws: OptionException if an error occurs

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.