public class Option extends Object implements Cloneable, 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 and Description |
|---|---|
static class |
Option.Builder
A nested builder class to create
Option instances
using descriptive methods. |
| Modifier 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(String opt,
boolean hasArg,
String description)
Creates an Option using the specified parameters.
|
Option(String opt,
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.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addValue(String value)
Deprecated.
|
static Option.Builder |
builder()
Returns a
Option.Builder to create an Option using descriptive
methods. |
static Option.Builder |
builder(String opt)
Returns a
Option.Builder to create an Option using descriptive
methods. |
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(Object o) |
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.
|
Object |
getType()
Retrieve the type of this Option.
|
String |
getValue()
Returns the specified value of this Option or
null if there is no value. |
String |
getValue(int index)
Returns the specified value of this Option or
null if there is no value. |
String |
getValue(String defaultValue)
Returns the value/first value of this Option or the
defaultValue if there is no value. |
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.
|
List<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(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(String description)
Sets the self-documenting description of this Option
|
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(Class<?> type)
Sets the type of this Option.
|
void |
setType(Object type)
Deprecated.
since 1.3, use
setType(Class) instead |
void |
setValueSeparator(char sep)
Sets the value separator.
|
String |
toString()
Dump state, suitable for debugging.
|
public static final int UNINITIALIZED
public static final int UNLIMITED_VALUES
public Option(String opt, String description) throws IllegalArgumentException
opt - short representation of the optiondescription - describes the function of the optionIllegalArgumentException - if there are any non valid
Option characters in opt.public Option(String opt, boolean hasArg, String description) throws IllegalArgumentException
opt - short representation of the optionhasArg - specifies whether the Option takes an argument or notdescription - describes the function of the optionIllegalArgumentException - if there are any non valid
Option characters in opt.public Option(String opt, String longOpt, boolean hasArg, String description) throws 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 optionIllegalArgumentException - if there are any non valid
Option characters in opt.public int getId()
public String getOpt()
CommandLine.hasOption(String opt) and
CommandLine.getOptionValue(String opt) to check
for existence and argument.public Object getType()
@Deprecated public void setType(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(Class<?> type)
type - the type of this Optionpublic String getLongOpt()
public void setLongOpt(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 String getDescription()
public void setDescription(String description)
description - The description of this optionpublic boolean isRequired()
public void setRequired(boolean required)
required - specifies whether this Option is mandatorypublic void setArgName(String argName)
argName - the display name for the argument value.public 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 String getValue()
null if there is no value.null if there is no value.public String getValue(int index) throws IndexOutOfBoundsException
null if there is no value.index - The index of the value to be returned.null if there is no value.IndexOutOfBoundsException - if index is less than 1
or greater than the number of the values for this Option.public String getValue(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 String[] getValues()
public List<String> getValuesList()
public String toString()
public Object clone()
clone in class ObjectRuntimeException - if a CloneNotSupportedException has been thrown
by super.clone()@Deprecated public boolean addValue(String value)
value - the value to addUnsupportedOperationExceptionUnsupportedOperationException - alwayspublic static Option.Builder builder()
Option.Builder to create an Option using descriptive
methods.Option.Builder instancepublic static Option.Builder builder(String opt)
Option.Builder to create an Option using descriptive
methods.opt - short representation of the optionOption.Builder instanceIllegalArgumentException - if there are any non valid Option characters in optCopyright © 2002–2017 The Apache Software Foundation. All rights reserved.