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

picocli

## Class CommandLine.Range

- java.lang.Object
- - picocli.CommandLine.Range

- All Implemented Interfaces:
    java.lang.Comparable<CommandLine.Range>
  Enclosing class:
    CommandLine

      public static class CommandLine.Range
      extends java.lang.Object
      implements java.lang.Comparable<CommandLine.Range>

  Describes the number of parameters required and accepted by an option or a positional parameter.
  Since:
    0.9.7

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `isVariable`
    `int` | `max` Maximum accepted number of parameters for an option or positional parameter.
    `int` | `min` Required number of parameters for an option or positional parameter.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Range(int min, int max, boolean variable, boolean unspecified, java.lang.String originalValue)` Constructs a new Range object with the specified parameters.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(CommandLine.Range other)`
    `boolean` | `contains(int value)` Returns `true` if this Range includes the specified value, `false` otherwise.
    `static CommandLine.Range` | `defaultArity(java.lang.Class<?> type)` Deprecated. use `defaultArity(Field)` instead
    `static CommandLine.Range` | `defaultArity(java.lang.reflect.Field field)` Returns the default arity `Range`: for interactive options/positional parameters, this is 0; for `options` this is 0 for booleans and 1 for other types, for `parameters` booleans have arity 0, arrays or Collections have arity "0..*", and other types have arity 1.
    `boolean` | `equals(java.lang.Object object)`
    `int` | `hashCode()`
    `CommandLine.Range` | `max(int newMax)` Returns a new Range object with the `max` value replaced by the specified value.
    `CommandLine.Range` | `min(int newMin)` Returns a new Range object with the `min` value replaced by the specified value.
    `static CommandLine.Range` | `optionArity(java.lang.reflect.Field field)` Returns a new `Range` based on the `CommandLine.Option.arity()` annotation on the specified field, or the field type's default arity if no arity was specified.
    `static CommandLine.Range` | `parameterArity(java.lang.reflect.Field field)` Returns a new `Range` based on the `CommandLine.Parameters.arity()` annotation on the specified field, or the field type's default arity if no arity was specified.
    `static CommandLine.Range` | `parameterIndex(java.lang.reflect.Field field)` Returns a new `Range` based on the `CommandLine.Parameters.index()` annotation on the specified field.
    `java.lang.String` | `toString()`
    `CommandLine.Range` | `unspecified(boolean unspecified)` Returns a new Range object with the `isUnspecified` value replaced by the specified value.
    `static CommandLine.Range` | `valueOf(java.lang.String range)` Leniently parses the specified String as an `Range` value and return the result.

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

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

- - ### Field Detail

    - #### min

          public final int min

      Required number of parameters for an option or positional parameter.

    - #### max

          public final int max

      Maximum accepted number of parameters for an option or positional parameter.

    - #### isVariable

          public final boolean isVariable

  - ### Constructor Detail

    - #### Range

          public Range(int min,
                       int max,
                       boolean variable,
                       boolean unspecified,
                       java.lang.String originalValue)

      Constructs a new Range object with the specified parameters.
      Parameters:
        `min` - minimum number of required parameters
        `max` - maximum number of allowed parameters (or Integer.MAX_VALUE if variable)
        `variable` - `true` if any number or parameters is allowed, `false` otherwise
        `unspecified` - `true` if no arity was specified on the option/parameter (value is based on type)
        `originalValue` - the original value that was specified on the option or parameter

  - ### Method Detail

    - #### optionArity

          public static CommandLine.Range optionArity(java.lang.reflect.Field field)

      Returns a new `Range` based on the `CommandLine.Option.arity()` annotation on the specified field, or the field type's default arity if no arity was specified.
      Parameters:
        `field` - the field whose Option annotation to inspect
      Returns:
        a new `Range` based on the Option arity annotation on the specified field

    - #### parameterArity

          public static CommandLine.Range parameterArity(java.lang.reflect.Field field)

      Returns a new `Range` based on the `CommandLine.Parameters.arity()` annotation on the specified field, or the field type's default arity if no arity was specified.
      Parameters:
        `field` - the field whose Parameters annotation to inspect
      Returns:
        a new `Range` based on the Parameters arity annotation on the specified field

    - #### parameterIndex

          public static CommandLine.Range parameterIndex(java.lang.reflect.Field field)

      Returns a new `Range` based on the `CommandLine.Parameters.index()` annotation on the specified field.
      Parameters:
        `field` - the field whose Parameters annotation to inspect
      Returns:
        a new `Range` based on the Parameters index annotation on the specified field

    - #### defaultArity

          public static CommandLine.Range defaultArity(java.lang.reflect.Field field)

      Returns the default arity `Range`: for interactive options/positional parameters, this is 0; for `options` this is 0 for booleans and 1 for other types, for `parameters` booleans have arity 0, arrays or Collections have arity "0..*", and other types have arity 1.
      Parameters:
        `field` - the field whose default arity to return
      Returns:
        a new `Range` indicating the default arity of the specified field
      Since:
        2.0

    - #### defaultArity

          @Deprecated
          public static CommandLine.Range defaultArity(java.lang.Class<?> type)

      Deprecated. use `defaultArity(Field)` instead
      Returns the default arity `Range` for `options`: booleans have arity 0, other types have arity 1.
      Parameters:
        `type` - the type whose default arity to return
      Returns:
        a new `Range` indicating the default arity of the specified type

    - #### valueOf

          public static CommandLine.Range valueOf(java.lang.String range)

      Leniently parses the specified String as an `Range` value and return the result. A range string can be a fixed integer value or a range of the form `MIN_VALUE + ".." + MAX_VALUE`. If the `MIN_VALUE` string is not numeric, the minimum is zero. If the `MAX_VALUE` is not numeric, the range is taken to be variable and the maximum is `Integer.MAX_VALUE`.
      Parameters:
        `range` - the value range string to parse
      Returns:
        a new `Range` value

    - #### min

          public CommandLine.Range min(int newMin)

      Returns a new Range object with the `min` value replaced by the specified value. The `max` of the returned Range is guaranteed not to be less than the new `min` value.
      Parameters:
        `newMin` - the `min` value of the returned Range object
      Returns:
        a new Range object with the specified `min` value

    - #### max

          public CommandLine.Range max(int newMax)

      Returns a new Range object with the `max` value replaced by the specified value. The `min` of the returned Range is guaranteed not to be greater than the new `max` value.
      Parameters:
        `newMax` - the `max` value of the returned Range object
      Returns:
        a new Range object with the specified `max` value

    - #### unspecified

          public CommandLine.Range unspecified(boolean unspecified)

      Returns a new Range object with the `isUnspecified` value replaced by the specified value.
      Parameters:
        `unspecified` - the `unspecified` value of the returned Range object
      Returns:
        a new Range object with the specified `unspecified` value

    - #### contains

          public boolean contains(int value)

      Returns `true` if this Range includes the specified value, `false` otherwise.
      Parameters:
        `value` - the value to check
      Returns:
        `true` if the specified value is not less than the minimum and not greater than the maximum of this Range

    - #### equals

          public boolean equals(java.lang.Object object)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### compareTo

          public int compareTo(CommandLine.Range other)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<CommandLine.Range>`