Annotation Type SuperMethod


@Documented @Retention(RUNTIME) @Target(PARAMETER) public @interface SuperMethod
A parameter with this annotation is assigned an instance of Method which invokes the super implementation of this method. If such a method is not available, this annotation causes that this delegation target cannot be bound unless nullIfImpossible() is set to true. The method is declared as public and is invokable unless the instrumented type itself is not visible. Note that requesting such a method exposes the super method to reflection.
See Also:
  • Nested Class Summary

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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Indicates if the instance assigned to this parameter should be stored in a static field for reuse.
    boolean
    Indicates that the assigned method should attempt the invocation of an unambiguous default method if no super method is available.
    boolean
    Indicates that null should be assigned to this parameter if no super method is invokable.
    boolean
    Indicates if the instance assigned to this parameter should be looked up using an java.security.AccessController.
  • Element Details

    • cached

      boolean cached
      Indicates if the instance assigned to this parameter should be stored in a static field for reuse.
      Returns:
      true if this method instance should be cached.
      Default:
      true
    • privileged

      boolean privileged
      Indicates if the instance assigned to this parameter should be looked up using an java.security.AccessController.
      Returns:
      true if this method should be looked up using an java.security.AccessController.
      Default:
      false
    • fallbackToDefault

      boolean fallbackToDefault
      Indicates that the assigned method should attempt the invocation of an unambiguous default method if no super method is available.
      Returns:
      true if a default method should be invoked if it is not ambiguous and no super class method is available.
      Default:
      true
    • nullIfImpossible

      boolean nullIfImpossible
      Indicates that null should be assigned to this parameter if no super method is invokable.
      Returns:
      true if null should be assigned if no valid method can be assigned.
      Default:
      false