CommandLine.Model.ArgSpec (picocli 3.9.6 API)
Date: 2019-04-06

picocli

## Class CommandLine.Model.ArgSpec

- java.lang.Object
- - picocli.CommandLine.Model.ArgSpec

- Direct Known Subclasses:
    CommandLine.Model.OptionSpec, CommandLine.Model.PositionalParamSpec
  Enclosing class:
    CommandLine.Model

      public abstract static class CommandLine.Model.ArgSpec
      extends java.lang.Object

  Models the shared attributes of `CommandLine.Model.OptionSpec` and `CommandLine.Model.PositionalParamSpec`.
  Since:
    3.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `toString`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    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()` Returns `true` if this argument's `type()` is an array, a `Collection` or a `Map`, `false` otherwise.
    `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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### toString

          protected java.lang.String toString

  - ### Method Detail

    - #### required

          public boolean required()

      Returns whether this is a required option or positional parameter.
      See Also:
        `CommandLine.Option.required()`

    - #### interactive

          public boolean interactive()

      Returns whether this option will prompt the user to enter a value on the command line.
      See Also:
        `CommandLine.Option.interactive()`

    - #### description

          public java.lang.String[] description()

      Returns the description template of this option, before variables are rendered.
      See Also:
        `CommandLine.Option.description()`

    - #### descriptionKey

          public java.lang.String descriptionKey()

      Returns the description key of this arg spec, used to get the description from a resource bundle.
      Since:
        3.6
      See Also:
        `CommandLine.Option.descriptionKey()`, `CommandLine.Parameters.descriptionKey()`

    - #### renderedDescription

          public java.lang.String[] renderedDescription()

      Returns the description of this option, after variables are rendered. Used when generating the usage documentation.
      Since:
        3.2
      See Also:
        `CommandLine.Option.description()`

    - #### arity

          public CommandLine.Range arity()

      Returns how many arguments this option or positional parameter requires.
      See Also:
        `CommandLine.Option.arity()`

    - #### paramLabel

          public java.lang.String paramLabel()

      Returns the name of the option or positional parameter used in the usage help message.
      See Also:
        `{@link Parameters#paramLabel()}`

    - #### hideParamSyntax

          public boolean hideParamSyntax()

      Returns whether usage syntax decorations around the paramLabel should be suppressed. The default is `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.
      Since:
        3.6.0

    - #### auxiliaryTypes

          public java.lang.Class<?>[] auxiliaryTypes()

      Returns auxiliary type information used when the `type()` is a generic `Collection`, `Map` or an abstract class.
      See Also:
        `CommandLine.Option.type()`

    - #### converters

          public 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). 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.
      See Also:
        `CommandLine.Option.converter()`

    - #### splitRegex

          public java.lang.String splitRegex()

      Returns a regular expression to split option parameter values or `""` if the value should not be split.
      See Also:
        `CommandLine.Option.split()`

    - #### hidden

          public boolean hidden()

      Returns whether this option should be excluded from the usage message.
      See Also:
        `CommandLine.Option.hidden()`

    - #### type

          public java.lang.Class<?> type()

      Returns the type to convert the option or positional parameter to before setting the value.

    - #### defaultValue

          public java.lang.String defaultValue()

      Returns the default value of this option or positional parameter, before splitting and type conversion. This method returns the programmatically set value; this may differ from the default value that is actually used: if this ArgSpec is part of a CommandSpec with a `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.
      Returns:
        the programmatically set default value of this option/positional parameter, returning `null` means this option or positional parameter does not have a default
      See Also:
        `CommandLine.Model.CommandSpec.defaultValueProvider()`

    - #### initialValue

          public java.lang.Object initialValue()

      Returns the initial value this option or positional parameter. If `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.

    - #### hasInitialValue

          public boolean hasInitialValue()

      Determines whether the option or positional parameter will be reset to the `initialValue()` before parsing new input.

    - #### showDefaultValue

          public CommandLine.Help.Visibility showDefaultValue()

      Returns whether this option or positional parameter's default value should be shown in the usage help.

    - #### defaultValueString

          public java.lang.String defaultValueString()

      Returns the default value String displayed in the description. If this ArgSpec is part of a CommandSpec with a `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.
      See Also:
        `CommandLine.Model.CommandSpec.defaultValueProvider()`, `defaultValue()`

    - #### completionCandidates

          public 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.
      Returns:
        the completion candidates for this option or positional parameter, valid enum constant names, or `null`
      Since:
        3.2

    - #### getter

          public CommandLine.Model.IGetter getter()

      Returns the `CommandLine.Model.IGetter` that is responsible for supplying the value of this argument.

    - #### setter

          public CommandLine.Model.ISetter setter()

      Returns the `CommandLine.Model.ISetter` that is responsible for modifying the value of this argument.

    - #### getValue

          public <T> T getValue()
                         throws CommandLine.PicocliException

      Returns the current value of this argument. Delegates to the current `getter()`.
      Throws:
        `CommandLine.PicocliException`

    - #### setValue

          public <T> T setValue(T newValue)
                         throws CommandLine.PicocliException

      Sets the value of this argument to the specified value and returns the previous value. Delegates to the current `setter()`.
      Throws:
        `CommandLine.PicocliException`

    - #### setValue

          @Deprecated
          public <T> T setValue(T newValue,
                                             CommandLine commandLine)
                                      throws CommandLine.PicocliException

      Deprecated. use `setValue(Object)` instead. This was a design mistake.
      Sets the value of this argument to the specified value and returns the previous value. Delegates to the current `setter()`.
      Throws:
        `CommandLine.PicocliException`
      Since:
        3.5

    - #### isMultiValue

          public boolean isMultiValue()

      Returns `true` if this argument's `type()` is an array, a `Collection` or a `Map`, `false` otherwise.

    - #### isOption

          public abstract boolean isOption()

      Returns `true` if this argument is a named option, `false` otherwise.

    - #### isPositional

          public abstract boolean isPositional()

      Returns `true` if this argument is a positional parameter, `false` otherwise.

    - #### stringValues

          public java.util.List<java.lang.String> stringValues()

      Returns the untyped command line arguments matched by this option or positional parameter spec.
      Returns:
        the matched arguments after splitting, but before type conversion. For map properties, `"key=value"` values are split into the key and the value part.

    - #### typedValues

          public java.util.List<java.lang.Object> typedValues()

      Returns the typed command line arguments matched by this option or positional parameter spec.
      Returns:
        the matched arguments after splitting and type conversion. For map properties, `"key=value"` values are split into the key and the value part.

    - #### resetStringValues

          protected void resetStringValues()

      Sets the `stringValues` to a new list instance.

    - #### originalStringValues

          public java.util.List<java.lang.String> originalStringValues()

      Returns the original command line arguments matched by this option or positional parameter spec.
      Returns:
        the matched arguments as found on the command line: empty Strings for options without value, the values have not been split, and for map properties values may look like `"key=value"`

    - #### resetOriginalStringValues

          protected void resetOriginalStringValues()

      Sets the `originalStringValues` to a new list instance.

    - #### internalShowDefaultValue

          protected boolean internalShowDefaultValue(boolean usageHelpShowDefaults)

      Returns whether the default for this option or positional parameter should be shown, potentially overriding the specified global setting.
      Parameters:
        `usageHelpShowDefaults` - whether the command's UsageMessageSpec is configured to show default values.

    - #### messages

          public CommandLine.Model.Messages messages()

      Returns the Messages for this arg specification, or `null`.
      Since:
        3.6

    - #### messages

          public CommandLine.Model.ArgSpec messages(CommandLine.Model.Messages msgs)

      Sets the Messages for this ArgSpec, and returns this ArgSpec.
      Parameters:
        `msgs` - the new Messages value, may be `null`
      Since:
        3.6
      See Also:
        `CommandLine.Command.resourceBundle()`, `CommandLine.Model.OptionSpec.description()`, `CommandLine.Model.PositionalParamSpec.description()`

    - #### toString

          public java.lang.String toString()

      Returns a string respresentation of this option or positional parameter.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### equalsImpl

          protected boolean equalsImpl(CommandLine.Model.ArgSpec other)

    - #### hashCodeImpl

          protected int hashCodeImpl()