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. If a method does not have a super implementation, calling the annotated proxy will throw an exception.

     

    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:
    MethodDelegation, TargetMethodAnnotationDrivenBinder
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      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.
      boolean nullIfImpossible
      Assigns null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.
      boolean serializableProxy
      Determines if the generated proxy should be Serializable.
    • Element Detail

      • 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