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.
-
Interface Summary Interface Description Default.Binder.TypeLocator Locates the type which should be the base type of the created proxy.DefaultCall.Binder.DefaultMethodLocator A default method locator is responsible for looking up a default method to a given source method.DefaultMethod.Binder.MethodLocator A method locator is responsible for creating the super method call.FieldProxy.Binder.FieldResolver A resolver for creating an instrumentation for a field access.FieldProxy.Binder.FieldResolver.Factory A factory for creating a field resolver.Morph.Binder.DefaultMethodLocator A default method locator is responsible for looking up a default method to a given source method.Super.Binder.TypeLocator Locates the type which should be the base type of the created proxy.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler A handler is responsible for processing a parameter's binding.TargetMethodAnnotationDrivenBinder.ParameterBinder<T extends java.lang.annotation.Annotation> A parameter binder is used as a delegate for binding a parameter according to a particular annotation type found on this parameter. -
Class Summary Class Description Default.Binder.TypeLocator.ForType A type locator that returns a given type.DefaultCall.Binder.DefaultMethodLocator.Explicit An explicit default method locator attempts to look up a default method in the specified interface type.DefaultMethod.Binder.DelegationMethod Loads the delegation method constant onto the stack.DefaultMethod.Binder.MethodLocator.ForExplicitType A method locator for an explicit target type.FieldProxy.Binder A binder for theFieldProxy
annotation.FieldProxy.Binder.FieldGetter Implementation for a getter method.FieldProxy.Binder.FieldResolver.Factory.Duplex A duplex factory for a type that both sets and gets a field value.FieldProxy.Binder.FieldResolver.Factory.Simplex A simplex factory where field getters and setters both have their own type.FieldProxy.Binder.FieldResolver.ForGetter A field resolver for a getter accessor.FieldProxy.Binder.FieldResolver.ForGetterSetterPair A field resolver for an accessor that both gets and sets a field value.FieldProxy.Binder.FieldResolver.ForSetter A field resolver for a setter accessor.FieldProxy.Binder.FieldSetter Implementation for a setter method.FieldProxy.Binder.InstanceFieldConstructor Represents an implementation for implementing a proxy type constructor when a non-static field is accessed.FieldProxy.Binder.InstanceFieldConstructor.Appender An appender for implementing anFieldProxy.Binder.InstanceFieldConstructor
.FieldValue.Binder.Delegate A delegate implementation for theFieldValue.Binder
.IgnoreForBinding.Verifier A non-instantiable type that allows to check if a method should be ignored for binding.Morph.Binder A binder for theMorph
annotation.Morph.Binder.DefaultMethodLocator.Explicit An explicit default method locator attempts to look up a default method in the specified interface type.Morph.Binder.RedirectionProxy A proxy that implements the installed interface in order to allow for a morphed super method invocation.Morph.Binder.RedirectionProxy.InstanceFieldConstructor Creates an instance of the proxy when instrumenting an instance method.Morph.Binder.RedirectionProxy.InstanceFieldConstructor.Appender The byte code appender that implements the constructor.Morph.Binder.RedirectionProxy.MethodCall Implements a the method call of the morphing method.Pipe.Binder ATargetMethodAnnotationDrivenBinder.ParameterBinder
for binding thePipe
annotation.Pipe.Binder.Redirection An auxiliary type for performing the redirection of a method invocation as requested by thePipe
annotation.Pipe.Binder.Redirection.ConstructorCall.Appender The appender for implementing thePipe.Binder.Redirection.ConstructorCall
.Pipe.Binder.Redirection.MethodCall The implementation to implement aPipe.Binder.Redirection
's forwarding method.RuntimeType.Verifier A non-instantiable type that allows to check if a method or parameter should consider a runtime type.Super.Binder.TypeLocator.ForType A type locator that returns a given type.SuperMethod.Binder.DelegationMethod Loads the delegation method constant onto the stack.TargetMethodAnnotationDrivenBinder ThisMethodDelegationBinder
binds method by analyzing annotations found on the target method that is subject to a method binding.TargetMethodAnnotationDrivenBinder.DelegationProcessor A delegation processor is a helper class for aTargetMethodAnnotationDrivenBinder
for performing its actual logic.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound<T extends java.lang.annotation.Annotation> A bound handler represents an unambiguous parameter binder that was located for a given array of annotations.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound An unbound handler is a fallback for returning an illegal binding for parameters for which no parameter binder could be located.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound.DefaultArgument A default implementation of anArgument
annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding<S extends java.lang.annotation.Annotation> A parameter binder that binds a field's value.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue<S extends java.lang.annotation.Annotation> Implements a parameter binder that binds a fixed value to a parameter with a given annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant<U extends java.lang.annotation.Annotation> A parameter binder that binds a fixed value to a parameter annotation when using aMethodDelegation
.TargetMethodAnnotationDrivenBinder.Record A compiled record of a target method annotation-driven binder. -
Enum Summary Enum Description AllArguments.Assignment A directive for how anAllArguments
annotation on an array is to be interpreted.AllArguments.Binder A binder for handling theAllArguments
annotation.Argument.Binder A binder for handling theArgument
annotation.Argument.BindingMechanic Determines if a parameter binding should be considered for resolving ambiguous method bindings.BindingPriority.Resolver An ambiguity resolver that considers the priority of a method as defined by theBindingPriority
annotation.Default.Binder A binder for theDefault
annotation.Default.Binder.TypeLocator.ForParameterType A type locator that yields the target parameter's type.DefaultCall.Binder A binder for handling theDefaultCall
annotation.DefaultCall.Binder.DefaultMethodLocator.Implicit 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.DefaultMethod.Binder A binder for theDefaultMethod
annotation.DefaultMethod.Binder.MethodLocator.ForImplicitType A method locator for an implicit target type.Empty.Binder A binder for theEmpty
annotation.FieldProxy.Binder.FieldResolver.Unresolved An unresolved field resolver.FieldProxy.Binder.StaticFieldConstructor Represents an implementation for implementing a proxy type constructor when a static field is accessed.FieldValue.Binder Binds aFieldValue
annotation.Morph.Binder.DefaultMethodLocator.Implicit 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.Morph.Binder.RedirectionProxy.StaticFieldConstructor Creates an instance of the proxy when instrumenting a static method.Origin.Binder A binder for binding parameters that are annotated withOrigin
.Pipe.Binder.Redirection.ConstructorCall The implementation to implement aPipe.Binder.Redirection
's constructor.StubValue.Binder Binds theStubValue
annotation.Super.Binder A binder for handling theSuper
annotation.Super.Binder.TypeLocator.ForInstrumentedType A type locator that yields the instrumented type.Super.Binder.TypeLocator.ForParameterType A type locator that yields the target parameter's type.Super.Instantiation Determines the instantiation of the proxy type.SuperCall.Binder A binder for handling theSuperCall
annotation.SuperMethod.Binder A binder for theSuperMethod
annotation.This.Binder A binder for handling theThis
annotation. -
Annotation Types Summary Annotation Type Description AllArguments Parameters that are annotated with this annotation will be assigned a collection (or an array) containing all arguments of the source method.Argument Parameters that are annotated with this annotation will be assigned the value of the parameter of the source method with the given parameter.BindingPriority Defines a binding priority for a target method.Default 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.DefaultCall A parameter with this annotation is assigned a proxy for invoking a default method that fits the intercepted method.DefaultMethod A parameter with this annotation is assigned an instance ofMethod
which invokes a default method implementation of this method.Empty Binds the parameter type's default value to the annotated parameter, i.e.FieldProxy Using this annotation it is possible to access fields by getter and setter types.FieldValue Assigns the value of a field of the instrumented type to the annotated parameter.IgnoreForBinding Indicates that a given target method should never be considered for binding to a source method.Morph This annotation instructs Byte Buddy to inject a proxy class that calls a method's super method with explicit arguments.Origin 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:Pipe A target method parameter that is annotated with this annotation allows to forward an intercepted method invocation to another instance.RuntimeType Parameters that are annotated with this annotation will be assigned by also considering the runtime type of the target parameter.StubValue A stub value represents the (boxed) default value of the intercepted method's return type.Super 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.SuperCall Parameters that are annotated with this annotation will be assigned a proxy for calling the instrumented method'ssuper
implementation.SuperMethod A parameter with this annotation is assigned an instance ofMethod
which invokes the super implementation of this method.This Parameters that are annotated with this annotation will be assigned a reference to the instrumented object, if the instrumented method is not static.