public class Option extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable
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 Options
.
Options
,
CommandLine
,
Serialized FormModifier and Type | Field and 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 and 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 and Description |
---|---|
boolean |
addValue(java.lang.String value)
Deprecated.
|
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 |
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 requires an argument
|
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.Object type)
Sets the type of this Option.
|
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()
public void setType(java.lang.Object 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()
public 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 ther
is no value.defaultValue
if there are no values.public java.lang.String[] getValues()
public java.util.List getValuesList()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
java.lang.RuntimeException
public boolean addValue(java.lang.String value)
java.lang.UnsupportedOperationException