Package groovy.transform

# Annotation Interface NamedParam

@Documented @Retention(RUNTIME) @Target(PARAMETER) @Repeatable(NamedParams.class) public @interface NamedParam
Marker interface used to indicate that the name of the annotated parameter (or specified optional name) is a valid key name when using named arguments and that the parameter type is applicable for type checking purposes.

Since:
  2.5.0

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `boolean`
  `required`
  Indicates whether the named argument must be supplied.
  `Class`
  `type`
  Returns the expected value type for the named argument.
  `String`
  `value`
  Returns the accepted named-argument key.

- ## Element Details

  - ### value

    String value
    Returns the accepted named-argument key. Defaults to `Undefined.STRING`, which indicates the annotated parameter name.
    Returns:
      the named-argument key
    Default:
      "<DummyUndefinedMarkerString-DoNotUse>"

  - ### type

    Class type
    Returns the expected value type for the named argument. Defaults to `Object`.
    Returns:
      the named-argument type
    Default:
      java.lang.Object.class

  - ### required

    boolean required
    Indicates whether the named argument must be supplied. Defaults to `false`.
    Returns:
      `true` if the named argument is required
    Default:
      false