Annotation Type Advice.AllArguments
-
@Documented @Retention(RUNTIME) @Target(PARAMETER) public static @interface Advice.AllArgumentsAssigns 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
ArrayIndexOutOfBoundsExceptionis thrown.Important: Don't confuse this annotation with
AllArgumentsorMemberSubstitution.AllArguments. 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 booleanincludeSelfDetermines if the produced array should include the instrumented method's target reference within the array, if the instrumented method is non-static.booleannullIfEmptyDetermines if anullvalue should be assigned if the instrumented method does not declare any parameters.booleanreadOnlyIndicates if it is possible to write to this parameter.Assigner.TypingtypingThe typing that should be applied when assigning the arguments.
-
-
-
Element Detail
-
readOnly
boolean readOnly
Indicates 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
trueif the advice method is not inlined.- Returns:
trueif this parameter is read-only.
- Default:
- true
-
-
-
typing
Assigner.Typing typing
The typing that should be applied when assigning the arguments.- Returns:
- The typing to apply upon assignment.
- Default:
- net.bytebuddy.implementation.bytecode.assign.Assigner.Typing.STATIC
-
-
-
nullIfEmpty
boolean nullIfEmpty
Determines if anullvalue 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:
trueif anullvalue should be assigned if the instrumented method does not declare any parameters.
- Default:
- false
-
-