• Overview
  • Package
  • Class
  • Deprecated
  • Index
  • Help
  • Frames
  • No Frames
  • Summary: 
  • Required   
  • Optional
  •    
  •  | Detail: 
  • Element
  •    
    • groovy.lang.DelegatesTo


    • @Documented
      @Retention(RetentionPolicy.RUNTIME)
      @Target({ElementType.PARAMETER})
      public @interface DelegatesTo

      This annotation can be used by API or DSL writers to document parameters which accept a closure. In that case, using this annotation, you can specify what the delegate type of the closure will be. This is important for IDE support.

      This annotation can also be used to help the type checker (TypeChecked) which would not report errors then if the delegate is of the documented type. Of course, it is also compatible with CompileStatic.

      Example:

       // Document the fact that the delegate of the closure will be an ExecSpec
       ExecResult exec(@DelegatesTo(ExecSpec) Closure closure) { ... }
       
      Since:
      2.1.0

      • Nested Class Summary

          Nested classes 
          ModifiersNameDescription
          @interface DelegatesTo.TargetParameter annotation used to specify the delegate for a @DelegatesTo annotated parameter of the same method.
      • Element Summary

          Optional Element Summary 
          TypeName and Description
          int genericTypeIndex
          The index of the generic type that will be the type of the closure's delegate.
          int strategy
          The Closure.resolveStrategy used by the closure.
          String target
          In cases when there are multiple @DelegatesTo.Target annotated parameters, this member should be set to the DelegatesTo.Target#value() of the correct target.
          String type
          The type member should be used when the type of the delegate cannot be represented with value(), genericTypeIndex() or target().
          Class value
          Default:
          Target.class
      • Inherited Methods Summary

          Inherited Methods 
          Methods inherited from className
          class Objectwait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
      • Element Detail

        • public int genericTypeIndex

          The index of the generic type that will be the type of the closure's delegate. The generic types are considered with respect to the @DelegatesTo.Target annotated parameter for this usage, with the index starting at 0.

          Default:
          -1

        • public int strategy

          The Closure.resolveStrategy used by the closure.

          Default:
          Closure.OWNER_FIRST

        • public String target

          In cases when there are multiple @DelegatesTo.Target annotated parameters, this member should be set to the DelegatesTo.Target#value() of the correct target.

          Default:
          ""

        • public String type

          The type member should be used when the type of the delegate cannot be represented with value(), genericTypeIndex() or target(). In this case, it is possible to use a String to represent the type, at the cost of potential uncaught errors at compile time if the type is invalid and increased compile time.

          Returns:
          a String representation of a type
          Since:
          2.4.0
          Default:
          ""

        • public Class value

          Default:
          Target.class

    • Overview
    • Package
    • Class
    • Deprecated
    • Index
    • Help
    • Frames
    • No Frames
    • Summary: 
    • Required   
    • Optional
    •    
    •  | Detail: 
    • Element
    •    

    Copyright © 2003-2024 The Apache Software Foundation. All rights reserved.