Annotation Type Advice.FieldSetterHandle
- Enclosing class:
Advice
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 the this reference is not available.
Important: Don't confuse this annotation with FieldSetterHandle or
MemberSubstitution.FieldSetterHandle. This annotation should
be used only in combination with Advice.
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<?> Returns the type that declares the field that should be mapped to the annotated parameter.Returns the name of the field.
-
Element Details
-
value
-
declaringType
Class<?> declaringTypeReturns 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 toTargetTypein order to look up the type on the instrumented type.- Returns:
- The type that declares the field,
voidif this type should be determined implicitly orTargetTypefor the instrumented type.
- Default:
void.class
-