Annotation Type Advice.FieldSetterHandle
-
@Documented @Retention(RUNTIME) @Target(PARAMETER) public static @interface Advice.FieldSetterHandle
Indicates that the annotated parameter should be mapped to a
java.lang.invoke.MethodHandle
representing a field setter.Setting
Advice.FieldValue.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: Parameters with this option must not be used when from a constructor in combination with
Advice.OnMethodEnter
and a non-static field where thethis
reference is not available.Important: Don't confuse this annotation with
FieldSetterHandle
orMemberSubstitution.FieldSetterHandle
. This annotation should be used only in combination withAdvice
.- See Also:
Advice
,Advice.OnMethodEnter
,Advice.OnMethodExit
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.Class<?>
declaringType
Returns the type that declares the field that should be mapped to the annotated parameter.java.lang.String
value
Returns the name of the field.
-
-
-
-
declaringType
java.lang.Class<?> declaringType
Returns the type that declares the field that should be mapped to the annotated parameter. If this property is set tovoid
, the field is looked up implicitly within the instrumented class's class hierarchy. The value can also be set toTargetType
in order to look up the type on the instrumented type.- Returns:
- The type that declares the field,
void
if this type should be determined implicitly orTargetType
for the instrumented type.
- Default:
- void.class
-
-