Annotation Interface SuperCallHandle


@Documented @Retention(RUNTIME) @Target(PARAMETER) public @interface SuperCallHandle
Parameters that are annotated with this annotation will be assigned a java.lang.invoke.MethodHandle invoking the super implementation.
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    A binder for handling the SuperCallHandle annotation.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Determines if the method handle should invoke the default method to the intercepted method if a common super method invocation is not applicable.
    boolean
    Assigns null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.
  • Element Details

    • fallbackToDefault

      boolean fallbackToDefault
      Determines if the method handle should invoke the default method to the intercepted method if a common super method invocation is not applicable. For this to be possible, the default method must not be ambiguous.
      Returns:
      true if the invocation should fall back to invoking the default method.
      Default:
      true
    • nullIfImpossible

      boolean nullIfImpossible
      Assigns null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.
      Returns:
      true if a null constant should be assigned to this parameter in case that a legal binding is impossible.
      Default:
      false