Package groovy.cli

Annotation Type Option


@Documented
@Retention(RUNTIME)
@Target({METHOD,FIELD})
public @interface Option
Indicates that a method or property can be used to set a CLI option.
  • Optional Element Summary

    Optional Elements
    Modifier and Type Optional Element Description
    java.lang.Class convert
    A conversion closure to convert the incoming String into the desired object
    java.lang.String defaultValue
    The default value for this option as a String; subject to type conversion and 'convert'.
    java.lang.String description
    The description of this option
    java.lang.String longName
    The long name of this option.
    int numberOfArguments
    How many arguments this option has.
    java.lang.String numberOfArgumentsString
    How many arguments this option has represented as a String.
    boolean optionalArg
    Whether this option can have an optional argument.
    java.lang.String shortName
    The short name of this option.
    java.lang.String valueSeparator
    The value separator for this multi-valued option.
  • Element Details

    • description

      java.lang.String description
      The description of this option
      Returns:
      the description of this option
      Default:
      ""
    • shortName

      java.lang.String shortName
      The short name of this option. Defaults to the name of member being annotated if the longName is empty.
      Returns:
      the short name of this option
      Default:
      ""
    • longName

      java.lang.String longName
      The long name of this option. Defaults to the name of member being annotated.
      Returns:
      the long name of this option
      Default:
      ""
    • valueSeparator

      java.lang.String valueSeparator
      The value separator for this multi-valued option. Only allowed for array-typed arguments.
      Returns:
      the value separator for this multi-valued option
      Default:
      ""
    • optionalArg

      boolean optionalArg
      Whether this option can have an optional argument. Only supported for array-typed arguments to indicate that the array may be empty.
      Returns:
      true if this array-typed option can have an optional argument (i.e. could be empty)
      Default:
      false
    • numberOfArguments

      int numberOfArguments
      How many arguments this option has. A value greater than 1 is only allowed for array-typed arguments. Ignored for boolean options which are assumed to have a default of 0 or if numberOfArgumentsString is set.
      Returns:
      the number of arguments
      Default:
      1
    • numberOfArgumentsString

      java.lang.String numberOfArgumentsString
      How many arguments this option has represented as a String. Only allowed for array-typed arguments. Overrides numberOfArguments if set. The special values of '+' means one or more and '*' as 0 or more.
      Returns:
      the number of arguments (as a String)
      Default:
      ""
    • defaultValue

      java.lang.String defaultValue
      The default value for this option as a String; subject to type conversion and 'convert'. Ignored for Boolean options.
      Returns:
      the default value for this option
      Default:
      ""
    • convert

      java.lang.Class convert
      A conversion closure to convert the incoming String into the desired object
      Returns:
      the closure to convert this option's argument(s)
      Default:
      groovy.transform.Undefined.CLASS.class