Annotation Type Advice.Origin

Enclosing class:
Advice

@Documented @Retention(RUNTIME) @Target(PARAMETER) public static @interface Advice.Origin

Indicates that the annotated parameter should be mapped to a string representation of the instrumented method, a constant representing the Class declaring the adviced method or a Method, Constructor or java.lang.reflect.Executable representing this method. It can also load the instrumented method's java.lang.invoke.MethodType, java.lang.invoke.MethodHandle or java.lang.invoke.MethodHandles$Lookup.

Note: A constant representing a Method or Constructor is not cached but is recreated for every read.

Important: Don't confuse this annotation with Origin or MemberSubstitution.Origin. This annotation should be used only in combination with Advice.

See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Returns the pattern the annotated parameter should be assigned.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Indicates that the origin string should be indicated by the Object.toString() representation of the instrumented method.
  • Field Details

  • Element Details

    • value

      String value
      Returns the pattern the annotated parameter should be assigned. By default, the Annotation.toString() representation of the method is assigned. Alternatively, a pattern can be assigned where:
      • #t inserts the method's declaring type.
      • #m inserts the name of the method (<init> for constructors and <clinit> for static initializers).
      • #d for the method's descriptor.
      • #s for the method's signature.
      • #r for the method's return type.
      • #p for the property's name.
      Any other # character must be escaped by \ which can be escaped by itself. This property is ignored if the annotated parameter is of type Class.
      Returns:
      The pattern the annotated parameter should be assigned.
      Default:
      ""