public class Options
extends java.lang.Object
implements java.io.Serializable
Options represents a collection of Option
objects, which
describe the possible options for a command-line.
It may flexibly parse long and short options, with or without values. Additionally, it may parse only a portion of a commandline, allowing for flexible multi-stage parsing.
CommandLine
,
Serialized FormModifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,Option> |
longOpts
a map of the options with the long key
|
private java.util.Map<java.lang.String,OptionGroup> |
optionGroups
a map of the option groups
|
private java.util.List<java.lang.Object> |
requiredOpts
a map of the required options
|
private static long |
serialVersionUID
The serial version UID.
|
private java.util.Map<java.lang.String,Option> |
shortOpts
a map of the options with the character key
|
Constructor and Description |
---|
Options() |
Modifier and Type | Method and Description |
---|---|
Options |
addOption(Option opt)
Adds an option instance
|
Options |
addOption(java.lang.String opt,
boolean hasArg,
java.lang.String description)
Add an option that only contains a short-name.
|
Options |
addOption(java.lang.String opt,
java.lang.String description)
Add an option that only contains a short name.
|
Options |
addOption(java.lang.String opt,
java.lang.String longOpt,
boolean hasArg,
java.lang.String description)
Add an option that contains a short-name and a long-name.
|
Options |
addOptionGroup(OptionGroup group)
Add the specified option group.
|
Options |
addRequiredOption(java.lang.String opt,
java.lang.String longOpt,
boolean hasArg,
java.lang.String description)
Add an option that contains a short-name and a long-name.
|
(package private) Option |
getLongOption(java.lang.String opt)
Retrieve the
Option matching the long name specified. |
java.util.List<java.lang.String> |
getMatchingOptions(java.lang.String opt)
Returns the options with a long name starting with the name specified.
|
Option |
getOption(java.lang.String opt)
Retrieve the
Option matching the long or short name specified. |
OptionGroup |
getOptionGroup(Option opt)
Returns the OptionGroup the
opt belongs to. |
(package private) java.util.Collection<OptionGroup> |
getOptionGroups()
Lists the OptionGroups that are members of this Options instance.
|
java.util.Collection<Option> |
getOptions()
Retrieve a read-only list of options in this set
|
java.util.List |
getRequiredOptions()
Returns the required options.
|
boolean |
hasLongOption(java.lang.String opt)
|
boolean |
hasOption(java.lang.String opt)
|
boolean |
hasShortOption(java.lang.String opt)
|
(package private) java.util.List<Option> |
helpOptions()
Returns the Options for use by the HelpFormatter.
|
java.lang.String |
toString()
Dump state, suitable for debugging.
|
private static final long serialVersionUID
private final java.util.Map<java.lang.String,Option> shortOpts
private final java.util.Map<java.lang.String,Option> longOpts
private final java.util.List<java.lang.Object> requiredOpts
private final java.util.Map<java.lang.String,OptionGroup> optionGroups
public Options addOptionGroup(OptionGroup group)
group
- the OptionGroup that is to be addedjava.util.Collection<OptionGroup> getOptionGroups()
public Options addOption(java.lang.String opt, java.lang.String description)
The option does not take an argument.
opt
- Short single-character name of the option.description
- Self-documenting descriptionpublic Options addOption(java.lang.String opt, boolean hasArg, java.lang.String description)
It may be specified as requiring an argument.
opt
- Short single-character name of the option.hasArg
- flag signally if an argument is required after this optiondescription
- Self-documenting descriptionpublic Options addOption(java.lang.String opt, java.lang.String longOpt, boolean hasArg, java.lang.String description)
It may be specified as requiring an argument.
opt
- Short single-character name of the option.longOpt
- Long multi-character name of the option.hasArg
- flag signally if an argument is required after this optiondescription
- Self-documenting descriptionpublic Options addRequiredOption(java.lang.String opt, java.lang.String longOpt, boolean hasArg, java.lang.String description)
The added option is set as required. It may be specified as requiring an argument. This method is a shortcut for:
Options option = new Option(opt, longOpt, hasArg, description);
option.setRequired(true);
options.add(option);
opt
- Short single-character name of the option.longOpt
- Long multi-character name of the option.hasArg
- flag signally if an argument is required after this optiondescription
- Self-documenting descriptionpublic Options addOption(Option opt)
opt
- the option that is to be addedpublic java.util.Collection<Option> getOptions()
Option
objects in this descriptorjava.util.List<Option> helpOptions()
public java.util.List getRequiredOptions()
public Option getOption(java.lang.String opt)
Option
matching the long or short name specified.
The leading hyphens in the name are ignored (up to 2).
opt
- short or long name of the Option
Option getLongOption(java.lang.String opt)
Option
matching the long name specified.
The leading hyphens in the name are ignored (up to 2).opt
- long name of the Option
public java.util.List<java.lang.String> getMatchingOptions(java.lang.String opt)
opt
- the partial name of the optionpublic boolean hasOption(java.lang.String opt)
public boolean hasLongOption(java.lang.String opt)
public boolean hasShortOption(java.lang.String opt)
public OptionGroup getOptionGroup(Option opt)
opt
belongs to.opt
- the option whose OptionGroup is being queried.opt
is part of an OptionGroup, otherwise return nullpublic java.lang.String toString()
toString
in class java.lang.Object