-
- All Known Implementing Classes:
ArgumentImpl
public interface Argument
This interface provides a way to specify parameters to argument to be processed inArgumentParser
object.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Argument
action(ArgumentAction action)
Sets the action to be taken when this argument is encountered at the command line.<E> Argument
choices(E... values)
Sets a collection of the allowable values for the argument.<E> Argument
choices(java.util.Collection<E> values)
Sets a collection of the allowable values for the argument.Argument
choices(ArgumentChoice choice)
SetsArgumentChoice
object which inspects value so that it fulfills its criteria.Argument
dest(java.lang.String dest)
The name of the attribute to be added.java.lang.Object
getConst()
Returns const value.java.lang.Object
getDefault()
Returns default value.FeatureControl
getDefaultControl()
Returns default control.java.lang.String
getDest()
Returns dest value.FeatureControl
getHelpControl()
Returns help control.Argument
help(java.lang.String help)
Sets the brief description of what the argument does.Argument
help(FeatureControl ctrl)
Sets special value to control help message handling.Argument
metavar(java.lang.String... metavar)
Set the name for the argument in usage messages.Argument
nargs(int n)
Sets the number of command line arguments that should be consumed.Argument
nargs(java.lang.String n)
Sets the number of command line arguments that should be consumed.Argument
required(boolean required)
Iftrue
is given, this named argument must be specified in command line otherwise error will be issued.<E> Argument
setConst(E... values)
Sets list of constant values that are not read from the command line but are required for the various actions.Argument
setConst(java.lang.Object value)
Sets constant values that are not read from the command line but are required for the various actions.<E> Argument
setDefault(E... values)
Sets list of values which should be used if the command line argument is not present.Argument
setDefault(java.lang.Object value)
Sets value which should be used if the command line argument is not present.Argument
setDefault(FeatureControl ctrl)
Sets special value to control default value handling.java.lang.String
textualName()
Returns textual representation of the argument name.<T> Argument
type(java.lang.Class<T> type)
Sets the type which the command line argument should be converted to.<T> Argument
type(ArgumentType<T> type)
SetsArgumentType
object which converts command line argument to appropriate type.
-
-
-
Method Detail
-
nargs
Argument nargs(int n)
Sets the number of command line arguments that should be consumed.
Don't give this method
'*'
,'+'
or'?'
. They are converted toint
value and it is not what you expect. For these strings, usenargs(String)
.- Parameters:
n
- A positive integer- Returns:
- this
-
nargs
Argument nargs(java.lang.String n)
Sets the number of command line arguments that should be consumed.
This method takes one of following string:
"*"
,"+"
and"?"
. If"*"
is given, All command line arguments present are gathered into aList
. If"+"
is given, just like"*"
, all command line arguments present are gathered into aList
. Additionally, an error message will be generated if there wasn't at least one command line argument present. If"?"
is given, one argument will be consumed from the command line if possible, and produced as a single item. If no command line argument is present, the value fromsetDefault(Object)
will be produced. Note that for named arguments, there is an additional case - the option string is present but not followed by a command line argument. In this case the value fromsetConst(Object)
will be produced.- Parameters:
n
-"*"
,"+"
or"?"
- Returns:
- this
-
setConst
Argument setConst(java.lang.Object value)
Sets constant values that are not read from the command line but are required for the various actions.
The const value defaults to
null
.- Parameters:
value
- The const value- Returns:
- this
-
setConst
<E> Argument setConst(E... values)
Sets list of constant values that are not read from the command line but are required for the various actions.
The given
values
will be converted toList
. The const value defaults tonull
. If you want to set non-List item, usesetConst(Object)
.- Type Parameters:
E
- The type of the values- Parameters:
values
- The const values- Returns:
- this
-
setDefault
Argument setDefault(java.lang.Object value)
Sets value which should be used if the command line argument is not present.
The default value defaults to
null
.- Parameters:
value
- The default value- Returns:
- this
-
setDefault
<E> Argument setDefault(E... values)
Sets list of values which should be used if the command line argument is not present.
The default value defaults to
null
. The givenvalues
will be converted toList
. If you want to set non-List item, usesetDefault(Object)
.- Type Parameters:
E
- The type of the values- Parameters:
values
- The default values- Returns:
- this
-
setDefault
Argument setDefault(FeatureControl ctrl)
Sets special value to control default value handling.
Currently, only
FeatureControl.SUPPRESS
is available. If it is given, default value is not add as a attribute.- Parameters:
ctrl
- The special value to control default value handling.- Returns:
- this
-
type
<T> Argument type(java.lang.Class<T> type)
Sets the type which the command line argument should be converted to.
By default, type is String, which means no conversion is made. The type must have a constructor which takes one String argument.
As a convenience, if one of following primitive types (boolean.class, byte.class, short.class, int.class, long.class, float.class and double.class) is specified, it is converted to its wrapped type counterpart. For example, if int.class is given, it is silently converted to Integer.class.
- Type Parameters:
T
- The type of the value this argument accepts- Parameters:
type
- The type which the command line argument should be converted to.- Returns:
- this
-
type
<T> Argument type(ArgumentType<T> type)
Sets
ArgumentType
object which converts command line argument to appropriate type.This would be useful if you need to convert the command line argument into a type which does not have a constructor with one String argument.
- Type Parameters:
T
- The type of the value this argument accepts- Parameters:
type
- TheArgumentType
object- Returns:
- this
-
required
Argument required(boolean required)
If
true
is given, this named argument must be specified in command line otherwise error will be issued.The default value is
false
. This object is a positional argument, this property is ignored.- Parameters:
required
-true
orfalse
- Returns:
- this
-
action
Argument action(ArgumentAction action)
Sets the action to be taken when this argument is encountered at the command line.- Parameters:
action
-ArgumentAction
object- Returns:
- this
-
choices
Argument choices(ArgumentChoice choice)
Sets
ArgumentChoice
object which inspects value so that it fulfills its criteria.This method is useful if more complex inspection is necessary than basic
choices(Object...)
.- Parameters:
choice
-ArgumentChoice
object.- Returns:
- this
-
choices
<E> Argument choices(java.util.Collection<E> values)
Sets a collection of the allowable values for the argument.- Type Parameters:
E
- The type of the values- Parameters:
values
- A collection of the allowable values- Returns:
- this
-
choices
<E> Argument choices(E... values)
Sets a collection of the allowable values for the argument.- Type Parameters:
E
- The type of the values- Parameters:
values
- A collection of the allowable values- Returns:
- this
-
dest
Argument dest(java.lang.String dest)
The name of the attribute to be added.
The default value is For positional arguments, The default value is normally supplied as the first argument to
ArgumentParser.parseArgs(String[])
. For named arguments,ArgumentParser
generates the default value ofdest
by taking the first long option string and stripping away the initial--
string. If no long option strings were supplied,dest
will be derived from the first short option string by stripping the initial-
character. Any internal-
characters will be converted to_
.- Parameters:
dest
- The name of the attribute to be added- Returns:
- this
-
metavar
Argument metavar(java.lang.String... metavar)
Set the name for the argument in usage messages.- Parameters:
metavar
- The name for the argument in usage messages- Returns:
- this
-
help
Argument help(java.lang.String help)
Sets the brief description of what the argument does.- Parameters:
help
- The brief description of what the argument does- Returns:
- this
-
help
Argument help(FeatureControl ctrl)
Sets special value to control help message handling.
Currently, only
FeatureControl.SUPPRESS
is available. If it is given, the help entry for this option is not displayed in the help message.- Parameters:
ctrl
- The special value to control help message handling.- Returns:
- this
-
textualName
java.lang.String textualName()
Returns textual representation of the argument name.
For named arguments, this method returns the first argument given in
ArgumentContainer.addArgument(String...)
. For positional arguments, this method returns the flags joined with "/", e.g.-f/--foo
.- Returns:
- The textual representation of the argument name.
-
getDest
java.lang.String getDest()
Returns dest value.- Returns:
- The dest value
-
getConst
java.lang.Object getConst()
Returns const value.- Returns:
- The const value
-
getDefault
java.lang.Object getDefault()
Returns default value.- Returns:
- The default value
-
getDefaultControl
FeatureControl getDefaultControl()
Returns default control.- Returns:
- The default control
-
getHelpControl
FeatureControl getHelpControl()
Returns help control.- Returns:
- The help control
-
-