@Documented @Retention(value=RUNTIME) @Target(value=PARAMETER) public @interface Origin
Method, Constructor or
java.lang.reflect.Executable, the parameter is assigned a reference to the method or constructor it
instruments. If the reference is not assignable to the sort of the intercepted source, the target is not considered
for binding.Class, the parameter is assigned a reference of the
type of the instrumented type.String, the parameter is assigned a string with
the value that would be returned by the Method.toString() method.
int type, it is assigned the intercepted method's modifiers.java.lang.invoke.MethodHandle, a handle of the intercepted method is injected.
A java.lang.invoke.MethodHandle is stored in a class's constant pool and does therefore not face the same
runtime performance limitations as a (non-cached) Method reference. Method handles are
only supported for byte code versions starting from Java 7.java.lang.invoke.MethodType, a description of the intercepted method's type
is injected. Method type descriptions are only supported for byte code versions starting from Java 7.IllegalStateException.| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
cache
Determines if the value that is assigned by this annotation is cached.
|
public abstract boolean cache
Method instances.true if the value for this parameter should be cached in a static field inside the instrumented class.Copyright © 2014–2016. All rights reserved.