Package net.bytebuddy.implementation.bind.annotation
@ByDefault
package net.bytebuddy.implementation.bind.annotation
This package contains annotations, types and classes that are responsible for binding a method to calling another
method by interpreting annotations that indicate how a method should be bound to another method.
-
ClassDescriptionParameters that are annotated with this annotation will be assigned an array of all arguments of the instrumented method.A directive for how an
AllArguments
annotation on an array is to be interpreted.A binder for handling theAllArguments
annotation.Parameters that are annotated with this annotation will be assigned the value of the parameter of the source method with the given parameter.A binder for handling theArgument
annotation.Determines if a parameter binding should be considered for resolving ambiguous method bindings.Defines a binding priority for a target method.An ambiguity resolver that considers the priority of a method as defined by theBindingPriority
annotation.Parameters that are annotated with this annotation are assigned an instance of an auxiliary proxy type that allows calling any default method of an interface of the instrumented type where the parameter type must be an interface that is directly implemented by the instrumented type.A binder for theDefault
annotation.Locates the type which should be the base type of the created proxy.A type locator that yields the target parameter's type.A type locator that returns a given type.A parameter with this annotation is assigned a proxy for invoking a default method that fits the intercepted method.A binder for handling theDefaultCall
annotation.A default method locator is responsible for looking up a default method to a given source method.An explicit default method locator attempts to look up a default method in the specified interface type.An implicit default method locator that only permits the invocation of a default method if the source method itself represents a method that was defined on a default method interface.A parameter with this annotation is assigned a method handle for invoking a default method that fits the intercepted method.A binder for handling theDefaultCallHandle
annotation.A default method locator is responsible for looking up a default method to a given source method.An explicit default method locator attempts to look up a default method in the specified interface type.An implicit default method locator that only permits the invocation of a default method if the source method itself represents a method that was defined on a default method interface.A parameter with this annotation is assigned an instance ofMethod
which invokes a default method implementation of this method.A binder for theDefaultMethod
annotation.Loads the delegation method constant onto the stack.A method locator is responsible for creating the super method call.A method locator for an explicit target type.A method locator for an implicit target type.A parameter with this annotation is assigned an instance ofjava.lang.invoke.MethodHandle
which invokes a default method implementation of this method.A binder for theDefaultMethodHandle
annotation.A method locator is responsible for creating the super method call.A method locator for an explicit target type.A method locator for an implicit target type.Binds the parameter type's default value to the annotated parameter, i.e.A binder for theEmpty
annotation.Assigns ajava.lang.invoke.MethodHandle
to the annotated parameter which represents a getter of the represented field.Binds aFieldGetterHandle
annotation.A delegate implementation for theFieldGetterHandle.Binder
.Using this annotation it is possible to access fields by getter and setter types.A binder for theFieldProxy
annotation.A proxy type for accessing a field either by a getter or a setter.Implementation for a getter method.A resolver for creating an instrumentation for a field access.A factory for creating a field resolver.A duplex factory for a type that both sets and gets a field value.A simplex factory where field getters and setters both have their own type.A field resolver for a getter accessor.A field resolver for an accessor that both gets and sets a field value.A field resolver for a setter accessor.An unresolved field resolver.Implementation for a setter method.Represents an implementation for implementing a proxy type constructor when a non-static field is accessed.An appender for implementing anFieldProxy.Binder.InstanceFieldConstructor
.Represents an implementation for implementing a proxy type constructor when a static field is accessed.Assigns ajava.lang.invoke.MethodHandle
to the annotated parameter which represents a getter of the represented field.Binds aFieldSetterHandle
annotation.A delegate implementation for theFieldSetterHandle.Binder
.Assigns the value of a field of the instrumented type to the annotated parameter.Binds aFieldValue
annotation.A delegate implementation for theFieldValue.Binder
.Indicates that a given target method should never be considered for binding to a source method.A non-instantiable type that allows to check if a method should be ignored for binding.This annotation instructs Byte Buddy to inject a proxy class that calls a method's super method with explicit arguments.A binder for theMorph
annotation.A default method locator is responsible for looking up a default method to a given source method.An explicit default method locator attempts to look up a default method in the specified interface type.An implicit default method locator that only permits the invocation of a default method if the source method itself represents a method that was defined on a default method interface.A proxy that implements the installed interface in order to allow for a morphed super method invocation.Creates an instance of the proxy when instrumenting an instance method.The byte code appender that implements the constructor.Implements a the method call of the morphing method.Creates an instance of the proxy when instrumenting a static method.The origin annotation provides some meta information about the source method that is bound to this method where the binding is dependant of the parameter's type:A binder for binding parameters that are annotated withOrigin
.A target method parameter that is annotated with this annotation allows to forward an intercepted method invocation to another instance.ATargetMethodAnnotationDrivenBinder.ParameterBinder
for binding thePipe
annotation.An auxiliary type for performing the redirection of a method invocation as requested by thePipe
annotation.The implementation to implement aPipe.Binder.RedirectionProxy
's constructor.The appender for implementing thePipe.Binder.RedirectionProxy.ConstructorCall
.The implementation to implement aPipe.Binder.RedirectionProxy
's forwarding method.Parameters that are annotated with this annotation will be assigned by also considering the runtime type of the target parameter.A non-instantiable type that allows to check if a method or parameter should consider a runtime type.A stub value represents the (boxed) default value of the intercepted method's return type.Binds theStubValue
annotation.Parameters that are annotated with this annotation are assigned an instance of an auxiliary proxy type that allows calling anysuper
methods of the instrumented type where the parameter type must be a super type of the instrumented type.A binder for handling theSuper
annotation.Locates the type which should be the base type of the created proxy.A type locator that yields the instrumented type.A type locator that yields the target parameter's type.A type locator that returns a given type.Determines the instantiation of the proxy type.Parameters that are annotated with this annotation will be assigned a proxy for calling the instrumented method'ssuper
implementation.A binder for handling theSuperCall
annotation.Parameters that are annotated with this annotation will be assigned ajava.lang.invoke.MethodHandle
invoking thesuper
implementation.A binder for handling theSuperCallHandle
annotation.A parameter with this annotation is assigned an instance ofMethod
which invokes the super implementation of this method.A binder for theSuperMethod
annotation.Loads the delegation method constant onto the stack.A parameter with this annotation is assigned an instance ofjava.lang.invoke.MethodHandle
which invokes the super implementation of this method.A binder for theSuperMethodHandle
annotation.ThisMethodDelegationBinder
binds method by analyzing annotations found on the target method that is subject to a method binding.A delegation processor is a helper class for aTargetMethodAnnotationDrivenBinder
for performing its actual logic.A handler is responsible for processing a parameter's binding.A bound handler represents an unambiguous parameter binder that was located for a given array of annotations.An unbound handler is a fallback for returning an illegal binding for parameters for which no parameter binder could be located.A default implementation of anArgument
annotation.A parameter binder is used as a delegate for binding a parameter according to a particular annotation type found on this parameter.A parameter binder that binds a field's value.Implements a parameter binder that binds a fixed value to a parameter with a given annotation.A parameter binder that binds a fixed value to a parameter annotation when using aMethodDelegation
.A compiled record of a target method annotation-driven binder.Parameters that are annotated with this annotation will be assigned a reference to the instrumented object, if the instrumented method is not static.A binder for handling theThis
annotation.