net.dpml.cli.option

Class Switch

Implemented Interfaces:
Option, Parent

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 String
DEFAULT_DISABLED_PREFIX
The default prefix for disabled switches
static String
DEFAULT_ENABLED_PREFIX
The default prefix for enabled switches
static ResourceHelper
RESOURCES
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

void
appendUsage(StringBuffer buffer, Set helpSettings, Comparator comp)
Appends usage information to the specified StringBuffer
void
defaults(WriteableCommandLine commandLine)
Adds defaults to a CommandLine.
String
getPreferredName()
The preferred name of an option is used for generating help and usage information.
Set
getPrefixes()
Identifies the argument prefixes that should be considered options.
Set
getTriggers()
Identifies the argument prefixes that should trigger this option.
void
processParent(WriteableCommandLine commandLine, ListIterator arguments)
Processes the parent part of the Option.
void
validate(WriteableCommandLine commandLine)
Checks that the supplied CommandLine is valid with respect to this option.

Methods inherited from class net.dpml.cli.option.ParentImpl

appendUsage, canProcess, defaults, findOption, getArgument, getChildren, getDescription, getPrefixes, helpLines, process, validate

Methods inherited from class net.dpml.cli.option.OptionImpl

canProcess, checkPrefixes, defaults, equals, findOption, getId, hashCode, isRequired, toString

Field Details

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 Details

Switch

public Switch(String enabledPrefix,
              String disabledPrefix,
              String preferredName,
              Set aliases,
              String description,
              boolean required,
              Argument argument,
              Group children,
              int id,
              Boolean switchDefault)
            throws IllegalArgumentException
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

Method Details

appendUsage

public void appendUsage(StringBuffer buffer,
                        Set helpSettings,
                        Comparator comp)
Appends usage information to the specified StringBuffer
Specified by:
appendUsage in interface Option
Overrides:
appendUsage in interface ParentImpl
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
Specified by:
defaults in interface Option
Overrides:
defaults in interface ParentImpl
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.
Specified by:
getPreferredName in interface Option
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.
Specified by:
getPrefixes in interface Option
Overrides:
getPrefixes in interface ParentImpl
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.
Specified by:
getTriggers in interface Option
Returns:
The set of triggers for this Option

processParent

public void processParent(WriteableCommandLine commandLine,
                          ListIterator arguments)
            throws OptionException
Processes the parent part of the Option. The combination of parent, argument and children is handled by the process method.
Specified by:
processParent in interface Parent
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

validate

public void validate(WriteableCommandLine commandLine)
            throws OptionException
Checks that the supplied CommandLine is valid with respect to this option.
Specified by:
validate in interface Option
Overrides:
validate in interface ParentImpl
Parameters:
commandLine - the CommandLine to check.
Throws:
OptionException - if the CommandLine is not valid.