org.apache.commons.cli

Class Parser

public abstract class Parser extends Object implements CommandLineParser

Parser creates CommandLines.

Version: $Revision: 551815 $

Author: John Keyes (john at integralsource.com)

See Also: Parser

Field Summary
CommandLinecmd
commandline instance
Optionsoptions
current Options
ListrequiredOptions
list of required options strings
Method Summary
voidcheckRequiredOptions()

Throws a MissingOptionException if all of the required options are no present.

protected abstract String[]flatten(Options opts, String[] arguments, boolean stopAtNonOption)

Subclasses must implement this method to reduce the arguments that have been passed to the parse method.

CommandLineparse(Options options, String[] arguments)

Parses the specified arguments based on the specifed Options.

CommandLineparse(Options options, String[] arguments, Properties properties)
Parse the arguments according to the specified options and properties.
CommandLineparse(Options options, String[] arguments, boolean stopAtNonOption)

Parses the specified arguments based on the specifed Options.

CommandLineparse(Options options, String[] arguments, Properties properties, boolean stopAtNonOption)
Parse the arguments according to the specified options and properties.
voidprocessArgs(Option opt, ListIterator iter)

Process the argument values for the specified Option opt using the values retrieved from the specified iterator iter.

voidprocessOption(String arg, ListIterator iter)

Process the Option specified by arg using the values retrieved from the specfied iterator iter.

voidprocessProperties(Properties properties)

Sets the values of Options using the values in properties.

Field Detail

cmd

private CommandLine cmd
commandline instance

options

private Options options
current Options

requiredOptions

private List requiredOptions
list of required options strings

Method Detail

checkRequiredOptions

private void checkRequiredOptions()

Throws a MissingOptionException if all of the required options are no present.

Throws: MissingOptionException if any of the required Options are not present.

flatten

protected abstract String[] flatten(Options opts, String[] arguments, boolean stopAtNonOption)

Subclasses must implement this method to reduce the arguments that have been passed to the parse method.

Parameters: opts The Options to parse the arguments by. arguments The arguments that have to be flattened. stopAtNonOption specifies whether to stop flattening when a non option has been encountered

Returns: a String array of the flattened arguments

parse

public CommandLine parse(Options options, String[] arguments)

Parses the specified arguments based on the specifed Options.

Parameters: options the Options arguments the arguments

Returns: the CommandLine

Throws: ParseException if an error occurs when parsing the arguments.

parse

public CommandLine parse(Options options, String[] arguments, Properties properties)
Parse the arguments according to the specified options and properties.

Parameters: options the specified Options arguments the command line arguments properties command line option name-value pairs

Returns: the list of atomic option and value tokens

Throws: ParseException if there are any problems encountered while parsing the command line tokens.

parse

public CommandLine parse(Options options, String[] arguments, boolean stopAtNonOption)

Parses the specified arguments based on the specifed Options.

Parameters: options the Options arguments the arguments stopAtNonOption specifies whether to stop interpreting the arguments when a non option has been encountered and to add them to the CommandLines args list.

Returns: the CommandLine

Throws: ParseException if an error occurs when parsing the arguments.

parse

public CommandLine parse(Options options, String[] arguments, Properties properties, boolean stopAtNonOption)
Parse the arguments according to the specified options and properties.

Parameters: options the specified Options arguments the command line arguments properties command line option name-value pairs stopAtNonOption stop parsing the arguments when the first non option is encountered.

Returns: the list of atomic option and value tokens

Throws: ParseException if there are any problems encountered while parsing the command line tokens.

processArgs

public void processArgs(Option opt, ListIterator iter)

Process the argument values for the specified Option opt using the values retrieved from the specified iterator iter.

Parameters: opt The current Option iter The iterator over the flattened command line Options.

Throws: ParseException if an argument value is required and it is has not been found.

processOption

private void processOption(String arg, ListIterator iter)

Process the Option specified by arg using the values retrieved from the specfied iterator iter.

Parameters: arg The String value representing an Option iter The iterator over the flattened command line arguments.

Throws: ParseException if arg does not represent an Option

processProperties

private void processProperties(Properties properties)

Sets the values of Options using the values in properties.

Parameters: properties The value properties to be processed.