Annotation Interface Advice.AllArguments
- Enclosing class:
- Advice
Assigns an array containing all arguments of the instrumented method to the annotated parameter. The annotated parameter must
be an array type. If the annotation indicates writability, the assigned array must have at least as many values as the
instrumented method or an ArrayIndexOutOfBoundsException
is thrown.
Important: Don't confuse this annotation with AllArguments
annotation. This annotation should be used only in combination with Advice
ASM visitor. For method
delegation (MethodDelegation.to(...)
) use alternative
annotation from net.bytebuddy.implementation.bind
package.
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionboolean
Determines if anull
value should be assigned if the instrumented method does not declare any parameters.boolean
Indicates if it is possible to write to this parameter.The typing that should be applied when assigning the arguments.
-
Element Details
-
readOnly
boolean readOnlyIndicates if it is possible to write to this parameter. If this property is set to
false
, the annotated type must be equal to the type declaring the instrumented method if the typing is not also set toAssigner.Typing.DYNAMIC
. If this property is set totrue
, the annotated parameter can be any super type of the instrumented method's declaring type.Important: This property must be set to
true
if the advice method is not inlined.- Returns:
true
if this parameter is read-only.
- Default:
- true
-
typing
Assigner.Typing typingThe typing that should be applied when assigning the arguments.- Returns:
- The typing to apply upon assignment.
- Default:
- STATIC
-
nullIfEmpty
boolean nullIfEmptyDetermines if anull
value should be assigned if the instrumented method does not declare any parameters. If this option is set and a value is written to annotated parameter, the operation remains without effect.- Returns:
true
if anull
value should be assigned if the instrumented method does not declare any parameters.
- Default:
- false
-