Annotation Type SuperCall


@Documented @Retention(RUNTIME) @Target(PARAMETER) public @interface SuperCall
Parameters that are annotated with this annotation will be assigned a proxy for calling the instrumented method's super implementation.

 

The proxy will both implement the Callable and the Runnable interfaces such that the annotated parameter must be assignable to any of those interfaces or be of the Object type.
See Also:
  • Nested Class Summary

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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Determines if the injected proxy 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.
    boolean
    Determines if the generated proxy should be Serializable.
  • Element Details

    • serializableProxy

      boolean serializableProxy
      Determines if the generated proxy should be Serializable.
      Returns:
      true if the generated proxy should be Serializable.
      Default:
      false
    • fallbackToDefault

      boolean fallbackToDefault
      Determines if the injected proxy 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