java.io.Serializable, java.lang.Cloneablepublic class Option extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable
An Option is not created independently, but is created through
an instance of Options. An Option is required to have
at least a short or a long-name.
Note: once an Option has been added to an instance
of Options, it's required flag may not be changed anymore.
Options,
CommandLine,
Serialized Form| Modifier and Type | Class | Description |
|---|---|---|
static class |
Option.Builder |
A nested builder class to create
Option instances
using descriptive methods. |
| Modifier and Type | Field | Description |
|---|---|---|
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
|
| Constructor | Description |
|---|---|
Option(java.lang.String opt,
boolean hasArg,
java.lang.String description) |
Creates an Option using the specified parameters.
|
Option(java.lang.String opt,
java.lang.String description) |
Creates an Option using the specified parameters.
|
Option(java.lang.String opt,
java.lang.String longOpt,
boolean hasArg,
java.lang.String description) |
Creates an Option using the specified parameters.
|
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
addValue(java.lang.String value) |
Deprecated.
|
static Option.Builder |
builder() |
Returns a
Option.Builder to create an Option using descriptive
methods. |
static Option.Builder |
builder(java.lang.String opt) |
Returns a
Option.Builder to create an Option using descriptive
methods. |
java.lang.Object |
clone() |
A rather odd clone method - due to incorrect code in 1.0 it is public
and in 1.1 rather than throwing a CloneNotSupportedException it throws
a RuntimeException so as to maintain backwards compat at the API level.
|
boolean |
equals(java.lang.Object o) |
|
java.lang.String |
getArgName() |
Gets the display name for the argument value.
|
int |
getArgs() |
Returns the number of argument values this Option can take.
|
java.lang.String |
getDescription() |
Retrieve the self-documenting description of this Option
|
int |
getId() |
Returns the id of this Option.
|
java.lang.String |
getLongOpt() |
Retrieve the long name of this Option.
|
java.lang.String |
getOpt() |
Retrieve the name of this Option.
|
java.lang.Object |
getType() |
Retrieve the type of this Option.
|
java.lang.String |
getValue() |
Returns the specified value of this Option or
null if there is no value. |
java.lang.String |
getValue(int index) |
Returns the specified value of this Option or
null if there is no value. |
java.lang.String |
getValue(java.lang.String defaultValue) |
Returns the value/first value of this Option or the
defaultValue if there is no value. |
java.lang.String[] |
getValues() |
Return the values of this Option as a String array
or null if there are no values
|
char |
getValueSeparator() |
Returns the value separator character.
|
java.util.List<java.lang.String> |
getValuesList() |
|
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.
|
int |
hashCode() |
|
boolean |
hasLongOpt() |
Query to see if this Option has a long name
|
boolean |
hasOptionalArg() |
|
boolean |
hasValueSeparator() |
Return whether this Option has specified a value separator.
|
boolean |
isRequired() |
Query to see if this Option is mandatory
|
void |
setArgName(java.lang.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 |
setDescription(java.lang.String description) |
Sets the self-documenting description of this Option
|
void |
setLongOpt(java.lang.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(java.lang.Class<?> type) |
Sets the type of this Option.
|
void |
setType(java.lang.Object type) |
Deprecated.
since 1.3, use
setType(Class) instead |
void |
setValueSeparator(char sep) |
Sets the value separator.
|
java.lang.String |
toString() |
Dump state, suitable for debugging.
|
public static final int UNINITIALIZED
public static final int UNLIMITED_VALUES
public Option(java.lang.String opt, java.lang.String description) throws java.lang.IllegalArgumentException
opt - short representation of the optiondescription - describes the function of the optionjava.lang.IllegalArgumentException - if there are any non valid
Option characters in opt.public Option(java.lang.String opt, boolean hasArg, java.lang.String description) throws java.lang.IllegalArgumentException
opt - short representation of the optionhasArg - specifies whether the Option takes an argument or notdescription - describes the function of the optionjava.lang.IllegalArgumentException - if there are any non valid
Option characters in opt.public Option(java.lang.String opt, java.lang.String longOpt, boolean hasArg, java.lang.String description) throws java.lang.IllegalArgumentException
opt - short representation of the optionlongOpt - the long representation of the optionhasArg - specifies whether the Option takes an argument or notdescription - describes the function of the optionjava.lang.IllegalArgumentException - if there are any non valid
Option characters in opt.public int getId()
public java.lang.String getOpt()
CommandLine.hasOption(String opt) and
CommandLine.getOptionValue(String opt) to check
for existence and argument.public java.lang.Object getType()
@Deprecated public void setType(java.lang.Object type)
setType(Class) instead
Note: this method is kept for binary compatibility and the
input type is supposed to be a Class object.
type - the type of this Optionpublic void setType(java.lang.Class<?> type)
type - the type of this Optionpublic java.lang.String getLongOpt()
public void setLongOpt(java.lang.String longOpt)
longOpt - the long name of this Optionpublic void setOptionalArg(boolean optionalArg)
optionalArg - specifies whether the Option can have
an optional argument.public boolean hasOptionalArg()
public boolean hasLongOpt()
public boolean hasArg()
public java.lang.String getDescription()
public void setDescription(java.lang.String description)
description - The description of this optionpublic boolean isRequired()
public void setRequired(boolean required)
required - specifies whether this Option is mandatorypublic void setArgName(java.lang.String argName)
argName - the display name for the argument value.public java.lang.String getArgName()
public boolean hasArgName()
public boolean hasArgs()
public void setArgs(int num)
num - the number of argument valuespublic void setValueSeparator(char sep)
sep - The value separator.public char getValueSeparator()
public boolean hasValueSeparator()
public int getArgs()
A value equal to the constant UNINITIALIZED (= -1) indicates
the number of arguments has not been specified.
A value equal to the constant UNLIMITED_VALUES (= -2) indicates
that this options takes an unlimited amount of values.
UNINITIALIZED,
UNLIMITED_VALUESpublic java.lang.String getValue()
null if there is no value.null if there is no value.public java.lang.String getValue(int index) throws java.lang.IndexOutOfBoundsException
null if there is no value.index - The index of the value to be returned.null if there is no value.java.lang.IndexOutOfBoundsException - if index is less than 1
or greater than the number of the values for this Option.public java.lang.String getValue(java.lang.String defaultValue)
defaultValue if there is no value.defaultValue - The value to be returned if there
is no value.defaultValue if there are no values.public java.lang.String[] getValues()
public java.util.List<java.lang.String> getValuesList()
public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.Object clone()
clone in class java.lang.Objectjava.lang.RuntimeException - if a CloneNotSupportedException has been thrown
by super.clone()@Deprecated public boolean addValue(java.lang.String value)
value - the value to addUnsupportedOperationExceptionjava.lang.UnsupportedOperationException - alwayspublic static Option.Builder builder()
Option.Builder to create an Option using descriptive
methods.Option.Builder instancepublic static Option.Builder builder(java.lang.String opt)
Option.Builder to create an Option using descriptive
methods.opt - short representation of the optionOption.Builder instancejava.lang.IllegalArgumentException - if there are any non valid Option characters in opt