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.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_VALUES
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 String toString()
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–2017 The Apache Software Foundation. All rights reserved.