public abstract static class CommandLine.Model.ArgSpec
extends java.lang.Object
CommandLine.Model.OptionSpec
and CommandLine.Model.PositionalParamSpec
.Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
toString |
Modifier and Type | Method and Description |
---|---|
CommandLine.Range |
arity()
Returns how many arguments this option or positional parameter requires.
|
java.lang.Class<?>[] |
auxiliaryTypes()
Returns auxiliary type information used when the
type() is a generic Collection , Map or an abstract class. |
java.lang.Iterable<java.lang.String> |
completionCandidates()
Returns the explicitly set completion candidates for this option or positional parameter, valid enum
constant names, or
null if this option or positional parameter does not have any completion
candidates and its type is not an enum. |
CommandLine.ITypeConverter<?>[] |
converters()
Returns one or more
type converters to use to convert the command line
argument into a strongly typed value (or key-value pair for map fields). |
java.lang.String |
defaultValue()
Returns the default value of this option or positional parameter, before splitting and type conversion.
|
java.lang.String |
defaultValueString()
Returns the default value String displayed in the description.
|
java.lang.String[] |
description()
Returns the description template of this option, before variables are rendered.
|
java.lang.String |
descriptionKey()
Returns the description key of this arg spec, used to get the description from a resource bundle.
|
protected boolean |
equalsImpl(CommandLine.Model.ArgSpec other) |
CommandLine.Model.IGetter |
getter()
Returns the
CommandLine.Model.IGetter that is responsible for supplying the value of this argument. |
<T> T |
getValue()
Returns the current value of this argument.
|
protected int |
hashCodeImpl() |
boolean |
hasInitialValue()
Determines whether the option or positional parameter will be reset to the
initialValue()
before parsing new input. |
boolean |
hidden()
Returns whether this option should be excluded from the usage message.
|
boolean |
hideParamSyntax()
Returns whether usage syntax decorations around the paramLabel should be suppressed.
|
java.lang.Object |
initialValue()
Returns the initial value this option or positional parameter.
|
boolean |
interactive()
Returns whether this option will prompt the user to enter a value on the command line.
|
protected boolean |
internalShowDefaultValue(boolean usageHelpShowDefaults)
Returns whether the default for this option or positional parameter should be shown, potentially overriding the specified global setting.
|
boolean |
isMultiValue()
|
abstract boolean |
isOption()
Returns
true if this argument is a named option, false otherwise. |
abstract boolean |
isPositional()
Returns
true if this argument is a positional parameter, false otherwise. |
CommandLine.Model.Messages |
messages()
Returns the Messages for this arg specification, or
null . |
CommandLine.Model.ArgSpec |
messages(CommandLine.Model.Messages msgs)
Sets the Messages for this ArgSpec, and returns this ArgSpec.
|
java.util.List<java.lang.String> |
originalStringValues()
Returns the original command line arguments matched by this option or positional parameter spec.
|
java.lang.String |
paramLabel()
Returns the name of the option or positional parameter used in the usage help message.
|
java.lang.String[] |
renderedDescription()
Returns the description of this option, after variables are rendered.
|
boolean |
required()
Returns whether this is a required option or positional parameter.
|
protected void |
resetOriginalStringValues()
Sets the
originalStringValues to a new list instance. |
protected void |
resetStringValues()
Sets the
stringValues to a new list instance. |
CommandLine.Model.ISetter |
setter()
Returns the
CommandLine.Model.ISetter that is responsible for modifying the value of this argument. |
<T> T |
setValue(T newValue)
Sets the value of this argument to the specified value and returns the previous value.
|
<T> T |
setValue(T newValue,
CommandLine commandLine)
Deprecated.
use
setValue(Object) instead. This was a design mistake. |
CommandLine.Help.Visibility |
showDefaultValue()
Returns whether this option or positional parameter's default value should be shown in the usage help.
|
java.lang.String |
splitRegex()
Returns a regular expression to split option parameter values or
"" if the value should not be split. |
java.util.List<java.lang.String> |
stringValues()
Returns the untyped command line arguments matched by this option or positional parameter spec.
|
java.lang.String |
toString()
Returns a string respresentation of this option or positional parameter.
|
java.lang.Class<?> |
type()
Returns the type to convert the option or positional parameter to before setting the value.
|
java.util.List<java.lang.Object> |
typedValues()
Returns the typed command line arguments matched by this option or positional parameter spec.
|
public boolean required()
CommandLine.Option.required()
public boolean interactive()
CommandLine.Option.interactive()
public java.lang.String[] description()
CommandLine.Option.description()
public java.lang.String descriptionKey()
CommandLine.Option.descriptionKey()
,
CommandLine.Parameters.descriptionKey()
public java.lang.String[] renderedDescription()
CommandLine.Option.description()
public CommandLine.Range arity()
CommandLine.Option.arity()
public java.lang.String paramLabel()
{@link Parameters#paramLabel()}
public boolean hideParamSyntax()
false
: by default, the paramLabel is surrounded with '['
and ']'
characters
if the value is optional and followed by ellipses ("...") when multiple values can be specified.public java.lang.Class<?>[] auxiliaryTypes()
type()
is a generic Collection
, Map
or an abstract class.CommandLine.Option.type()
public CommandLine.ITypeConverter<?>[] converters()
type converters
to use to convert the command line
argument into a strongly typed value (or key-value pair for map fields). This is useful when a particular
option or positional parameter should use a custom conversion that is different from the normal conversion for the arg spec's type.CommandLine.Option.converter()
public java.lang.String splitRegex()
""
if the value should not be split.CommandLine.Option.split()
public boolean hidden()
CommandLine.Option.hidden()
public java.lang.Class<?> type()
public java.lang.String defaultValue()
CommandLine.IDefaultValueProvider
, picocli will first try to obtain
the default value from the default value provider, and this method is only called if the default provider is
null
or returned a null
value.null
means this option or positional parameter does not have a defaultCommandLine.Model.CommandSpec.defaultValueProvider()
public java.lang.Object initialValue()
hasInitialValue()
is true,
the option will be reset to the initial value before parsing (regardless of whether a default value exists),
to clear values that would otherwise remain from parsing previous input.public boolean hasInitialValue()
initialValue()
before parsing new input.public CommandLine.Help.Visibility showDefaultValue()
public java.lang.String defaultValueString()
CommandLine.IDefaultValueProvider
, this method will first try to obtain
the default value from the default value provider; if the provider is null
or if it
returns a null
value, then next any value set to defaultValue()
is returned, and if this is also null
, finally the initial value is returned.public java.lang.Iterable<java.lang.String> completionCandidates()
null
if this option or positional parameter does not have any completion
candidates and its type is not an enum.null
public CommandLine.Model.IGetter getter()
CommandLine.Model.IGetter
that is responsible for supplying the value of this argument.public CommandLine.Model.ISetter setter()
CommandLine.Model.ISetter
that is responsible for modifying the value of this argument.public <T> T getValue() throws CommandLine.PicocliException
getter()
.CommandLine.PicocliException
public <T> T setValue(T newValue) throws CommandLine.PicocliException
setter()
.CommandLine.PicocliException
@Deprecated public <T> T setValue(T newValue, CommandLine commandLine) throws CommandLine.PicocliException
setValue(Object)
instead. This was a design mistake.setter()
.CommandLine.PicocliException
public boolean isMultiValue()
public abstract boolean isOption()
true
if this argument is a named option, false
otherwise.public abstract boolean isPositional()
true
if this argument is a positional parameter, false
otherwise.public java.util.List<java.lang.String> stringValues()
"key=value"
values are split into the key and the value part.public java.util.List<java.lang.Object> typedValues()
"key=value"
values are split into the key and the value part.protected void resetStringValues()
stringValues
to a new list instance.public java.util.List<java.lang.String> originalStringValues()
"key=value"
protected void resetOriginalStringValues()
originalStringValues
to a new list instance.protected boolean internalShowDefaultValue(boolean usageHelpShowDefaults)
usageHelpShowDefaults
- whether the command's UsageMessageSpec is configured to show default values.public CommandLine.Model.Messages messages()
null
.public CommandLine.Model.ArgSpec messages(CommandLine.Model.Messages msgs)
msgs
- the new Messages value, may be null
CommandLine.Command.resourceBundle()
,
CommandLine.Model.OptionSpec.description()
,
CommandLine.Model.PositionalParamSpec.description()
public java.lang.String toString()
toString
in class java.lang.Object
protected boolean equalsImpl(CommandLine.Model.ArgSpec other)
protected int hashCodeImpl()