Class CmdLineParser
- java.lang.Object
-
- org.apache.directory.fortress.core.cli.CmdLineParser
-
public class CmdLineParser extends Object
Largely GNU-compatible command-line options parser. Has short (-v) and long-form (--verbose) option support, and also allows options with associated values (-d 2, --debug 2, --debug=2). Option processing can be explicitly terminated by the argument '--'.- Version:
- $Revision: 1.10 $
- Author:
- Steve Purcell
- See Also:
CommandLineInterpreter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CmdLineParser.IllegalOptionValueException
Thrown when an illegal or missing value is given by the user for an option that takes a value.static class
CmdLineParser.NotFlagException
Thrown when the parsed commandline contains multiple concatenated short options, such as -abcd, where one or more requires a value.static class
CmdLineParser.Option
Representation of a command-line optionstatic class
CmdLineParser.OptionException
Base class for exceptions that may be thrown when options are parsedstatic class
CmdLineParser.UnknownOptionException
Thrown when the parsed command-line contains an option that is not recognised.static class
CmdLineParser.UnknownSuboptionException
Thrown when the parsed commandline contains multiple concatenated short options, such as -abcd, where one is unknown.
-
Constructor Summary
Constructors Constructor Description CmdLineParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CmdLineParser.Option
addBooleanOption(char shortForm, String longForm)
Convenience method for adding a boolean option.CmdLineParser.Option
addBooleanOption(String longForm)
Convenience method for adding a boolean option.CmdLineParser.Option
addDoubleOption(char shortForm, String longForm)
Convenience method for adding a double option.CmdLineParser.Option
addDoubleOption(String longForm)
Convenience method for adding a double option.CmdLineParser.Option
addIntegerOption(char shortForm, String longForm)
Convenience method for adding an integer option.CmdLineParser.Option
addIntegerOption(String longForm)
Convenience method for adding an integer option.CmdLineParser.Option
addLongOption(char shortForm, String longForm)
Convenience method for adding a long integer option.CmdLineParser.Option
addLongOption(String longForm)
Convenience method for adding a long integer option.CmdLineParser.Option
addStringOption(char shortForm, String longForm)
Convenience method for adding a string option.CmdLineParser.Option
addStringOption(String longForm)
Convenience method for adding a string option.Object
getOptionValue(CmdLineParser.Option o)
Equivalent togetOptionValue(o, null)
.Vector
getOptionValues(CmdLineParser.Option option)
String[]
getRemainingArgs()
void
parse(String[] argv)
Extract the options and non-option arguments from the given list of command-line arguments.
-
-
-
Method Detail
-
addStringOption
public final CmdLineParser.Option addStringOption(char shortForm, String longForm)
Convenience method for adding a string option.- Parameters:
shortForm
- The short form for this optionlongForm
- The long form for this option- Returns:
- the new Option
-
addStringOption
public final CmdLineParser.Option addStringOption(String longForm)
Convenience method for adding a string option.- Parameters:
longForm
- The long form for this option- Returns:
- the new Option
-
addIntegerOption
public final CmdLineParser.Option addIntegerOption(char shortForm, String longForm)
Convenience method for adding an integer option.- Parameters:
shortForm
- The short form for this optionlongForm
- The long form for this option- Returns:
- the new Option
-
addIntegerOption
public final CmdLineParser.Option addIntegerOption(String longForm)
Convenience method for adding an integer option.- Parameters:
longForm
- The long form for this option- Returns:
- the new Option
-
addLongOption
public final CmdLineParser.Option addLongOption(char shortForm, String longForm)
Convenience method for adding a long integer option.- Parameters:
shortForm
- The short form for this optionlongForm
- The long form for this option- Returns:
- the new Option
-
addLongOption
public final CmdLineParser.Option addLongOption(String longForm)
Convenience method for adding a long integer option.- Parameters:
longForm
- The long form for this option- Returns:
- the new Option
-
addDoubleOption
public final CmdLineParser.Option addDoubleOption(char shortForm, String longForm)
Convenience method for adding a double option.- Parameters:
shortForm
- The short form for this optionlongForm
- The long form for this option- Returns:
- the new Option
-
addDoubleOption
public final CmdLineParser.Option addDoubleOption(String longForm)
Convenience method for adding a double option.- Parameters:
longForm
- The long form for this option- Returns:
- the new Option
-
addBooleanOption
public final CmdLineParser.Option addBooleanOption(char shortForm, String longForm)
Convenience method for adding a boolean option.- Parameters:
shortForm
- The short form for this optionlongForm
- The long form for this option- Returns:
- the new Option
-
addBooleanOption
public final CmdLineParser.Option addBooleanOption(String longForm)
Convenience method for adding a boolean option.- Parameters:
longForm
- The long form for this option- Returns:
- the new Option
-
getOptionValue
public final Object getOptionValue(CmdLineParser.Option o)
Equivalent togetOptionValue(o, null)
.
-
getOptionValues
public final Vector getOptionValues(CmdLineParser.Option option)
- Returns:
- A Vector giving the parsed values of all the occurrences of the given Option, or an empty Vector if the option was not set.
-
getRemainingArgs
public final String[] getRemainingArgs()
- Returns:
- the non-option arguments
-
parse
public final void parse(String[] argv) throws CmdLineParser.IllegalOptionValueException, CmdLineParser.UnknownOptionException
Extract the options and non-option arguments from the given list of command-line arguments. The default locale is used for parsing options whose values might be locale-specific.
-
-