org.apache.commons.cli
public class Option extends Object implements Cloneable
Describes a single command-line option. It maintains information regarding the short-name of the option, the long-name, if any exists, a flag indicating if an argument is required for this option, and a self-documenting description of the option.
An Option is not created independantly, but is create through an instance of {@link Options}.
Version: $Revision: 1.6 $
See Also: Options
Field Summary | |
---|---|
String | argName argName specifies the name of the argument for this option |
String | description description of the option |
boolean | hasArg hasArg specifies whether this option has an associated argument |
char | id option char (only valid for single character options) |
String | longOpt longOpt is the long representation of the option |
int | numberOfArgs
numberOfArgs specifies the number of argument values this option
can have |
String | opt opt the single character representation of the option |
boolean | optionalArg specifies whether the argument value of this Option is optional |
boolean | required required specifies whether this option is required to be present |
Object | type the type of this Option |
static int | UNINITIALIZED constant that specifies the number of argument values has not been specified |
static int | UNLIMITED_VALUES constant that specifies the number of argument values is infinite |
ArrayList | values the list of argument values * |
char | valuesep the character that is the value separator |
Constructor Summary | |
---|---|
Option(String opt, String description)
Creates an Option using the specified parameters.
| |
Option(String opt, boolean hasArg, String description)
Creates an Option using the specified parameters.
| |
Option(String opt, String longOpt, boolean hasArg, String description) Creates an Option using the specified parameters. |
Method Summary | |
---|---|
boolean | addValue(String value) Adds the specified value to this Option. |
Object | clone() |
String | getArgName() Gets the display name for the argument value. |
int | getArgs() Returns the number of argument values this Option can take. |
String | getDescription() Retrieve the self-documenting description of this Option |
int | getId() Returns the id of this Option. |
String | getLongOpt() Retrieve the long name of this Option. |
String | getOpt() Retrieve the name of this Option. It is this String which can be used with {@link CommandLine#hasOption(String opt)} and {@link CommandLine#getOptionValue(String opt)} to check for existence and argument.
|
Object | getType() Retrieve the type of this Option. |
String | getValue() |
String | getValue(int index) |
String | getValue(String defaultValue) |
String[] | getValues() |
List | getValuesList() |
char | getValueSeparator() Returns the value separator character. |
boolean | hasArg() Query to see if this Option requires an argument |
boolean | hasArgName() Returns whether the display name for the argument value has been set. |
boolean | hasArgs() Query to see if this Option can take many values |
boolean | hasLongOpt() Query to see if this Option has a long name |
boolean | hasOptionalArg() |
boolean | isRequired() Query to see if this Option requires an argument |
boolean | isValidChar(char c) Returns whether the specified character is a valid character. |
boolean | isValidOpt(char c) Returns whether the specified character is a valid Option. |
void | setArgName(String argName) Sets the display name for the argument value. |
void | setArgs(int num) Sets the number of argument values this Option can take. |
void | setLongOpt(String longOpt) Sets the long name of this Option. |
void | setOptionalArg(boolean optionalArg) Sets whether this Option can have an optional argument. |
void | setRequired(boolean required) Sets whether this Option is mandatory. |
void | setType(Object type) Sets the type of this Option. |
void | setValueSeparator(char sep) Sets the value separator. |
String | toString() Dump state, suitable for debugging. |
void | validateOption(String opt) Validates whether |
Parameters: opt short representation of the option hasArg specifies whether the Option takes an argument or not description describes the function of the option
Parameters: opt short representation of the option hasArg specifies whether the Option takes an argument or not description describes the function of the option
Creates an Option using the specified parameters.
Parameters: opt short representation of the option longOpt the long representation of the option hasArg specifies whether the Option takes an argument or not description describes the function of the option
Adds the specified value to this Option.
Parameters: value is a/the value of this Option
Returns: a copy of this Option
Gets the display name for the argument value.
Returns: the display name for the argument value.
Returns the number of argument values this Option can take.
Returns: num the number of argument values
Retrieve the self-documenting description of this Option
Returns: The string description of this option
Returns the id of this Option. This is only set when the Option shortOpt is a single character. This is used for switch statements.
Returns: the id of this Option
Retrieve the long name of this Option.
Returns: Long name of this option, or null, if there is no long name
Retrieve the name of this Option.
It is this String which can be used with {@link CommandLine#hasOption(String opt)} and {@link CommandLine#getOptionValue(String opt)} to check for existence and argument.
Returns: The name of this option
Retrieve the type of this Option.
Returns: The type of this option
Returns: the value/first value of this Option or
null
if there are no values.
Returns: the specified value of this Option or
null
if there are no values.
Returns: the value/first value of this Option or the
defaultValue
if there are no values.
Returns: the values of this Option as a String array or null if there are no values
Returns: the values of this Option as a List or null if there are no values
Returns the value separator character.
Returns: the value separator character.
Query to see if this Option requires an argument
Returns: boolean flag indicating if an argument is required
Returns whether the display name for the argument value has been set.
Returns: if the display name for the argument value has been set.
Query to see if this Option can take many values
Returns: boolean flag indicating if multiple values are allowed
Query to see if this Option has a long name
Returns: boolean flag indicating existence of a long name
Returns: whether this Option can have an optional argument
Query to see if this Option requires an argument
Returns: boolean flag indicating if an argument is required
Returns whether the specified character is a valid character.
Parameters: c the character to validate
Returns: true if c
is a letter.
Returns whether the specified character is a valid Option.
Parameters: c the option to validate
Returns: true if c
is a letter, ' ', '?' or '@', otherwise false.
Sets the display name for the argument value.
Parameters: argName the display name for the argument value.
Sets the number of argument values this Option can take.
Parameters: num the number of argument values
Sets the long name of this Option.
Parameters: longOpt the long name of this Option
Sets whether this Option can have an optional argument.
Parameters: optionalArg specifies whether the Option can have an optional argument.
Sets whether this Option is mandatory.
Parameters: required specifies whether this Option is mandatory
Sets the type of this Option.
Parameters: type the type of this Option
Sets the value separator. For example if the argument value was a Java property, the value separator would be '='.
Parameters: sep The value separator.
Dump state, suitable for debugging.
Returns: Stringified form of this object
Validates whether opt
is a permissable Option
shortOpt. The rules that specify if the opt
is valid are:
opt
is not NULLopt
that is either
' '(special case), '?', '@' or a letteropt
that only contains
letters.Parameters: opt The option string to validate
Throws: IllegalArgumentException if the Option is not valid.