@Documented @Retention(value=RUNTIME) @Target(value=PARAMETER) public @interface FieldValue
Assigns the value of a field of the instrumented type to the annotated parameter. For a binding to be valid,
the instrumented type must be able to access a field of the given name. Also, the parameter's type must be
assignable to the given field. For attempting a type casting, the RuntimeType
annotation can be
applied to the parameter.
Setting value()
is optional. If the value is not set, the field value attempts to bind a setter's
or getter's field if the intercepted method is an accessor method. Otherwise, the binding renders the target method
to be an illegal candidate for binding.
Important: Don't confuse this annotation with Advice.FieldValue
annotation. This annotation
should be used only in combination with method delegation
(MethodDelegation.to(...)
).
For Advice
ASM visitor use alternative annotation from
net.bytebuddy.asm.Advice
package.
Modifier and Type | Optional Element and Description |
---|---|
Class<?> |
declaringType
Defines the type on which the field is declared.
|
String |
value
The name of the field to be accessed.
|
public abstract String value
public abstract Class<?> declaringType
Copyright © 2014–2023. All rights reserved.