@HashCodeAndEqualsPlugin.Enhance public static class Morph.Binder extends Object implements TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph>
Morph
annotation.Modifier and Type | Class and Description |
---|---|
protected static interface |
Morph.Binder.DefaultMethodLocator
A default method locator is responsible for looking up a default method to a given source method.
|
protected static class |
Morph.Binder.RedirectionProxy
A proxy that implements the installed interface in order to allow for a morphed super method invocation.
|
TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding<S extends Annotation>, TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue<S extends Annotation>
DEFAULTS
Modifier | Constructor and Description |
---|---|
protected |
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.ParameterBinding<?> |
bind(AnnotationDescription.Loadable<Morph> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner,
Assigner.Typing typing)
Creates a parameter binding for the given target parameter.
|
Class<Morph> |
getHandledType()
The annotation type that is handled by this parameter binder.
|
static TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph> |
install(Class<?> type)
Installs a given type for use on a
Morph
annotation. |
static TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph> |
install(TypeDescription typeDescription)
Installs a given type for use on a
Morph
annotation. |
protected Binder(MethodDescription forwardingMethod)
forwardingMethod
- The method which is overridden for generating the proxy class.public static TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph> install(Class<?> type)
Morph
annotation. The given type must be an interface without any super interfaces and a single method which
maps an Object
array to a Object
type. The use of generics is
permitted.type
- The type to install.Morph
annotation.public static TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph> install(TypeDescription typeDescription)
Morph
annotation. The given type must be an interface without any super interfaces and a single method which
maps an Object
array to a Object
type. The use of generics is
permitted.typeDescription
- The type to install.Morph
annotation.public Class<Morph> getHandledType()
getHandledType
in interface TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph>
Annotation.annotationType()
handled by this parameter binder.public MethodDelegationBinder.ParameterBinding<?> bind(AnnotationDescription.Loadable<Morph> annotation, MethodDescription source, ParameterDescription target, Implementation.Target implementationTarget, Assigner assigner, Assigner.Typing typing)
bind
in interface TargetMethodAnnotationDrivenBinder.ParameterBinder<Morph>
annotation
- The annotation that was cause for the delegation to this argument binder.source
- The intercepted source method.target
- Tge target parameter that is subject to be bound to
intercepting the source
method.implementationTarget
- The target of the current implementation that is subject to this binding.assigner
- An assigner that can be used for applying the binding.typing
- The typing to apply.Copyright © 2014–2022. All rights reserved.