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 FormModifier 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.@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()
public 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 Object clone()
clone
in class Object
RuntimeException
- if a CloneNotSupportedException
has been thrown
by super.clone()
@Deprecated public boolean addValue(String value)
value
- the value to addUnsupportedOperationException
UnsupportedOperationException
- 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 opt
Copyright © 2002–2015 The Apache Software Foundation. All rights reserved.