public class TargetMethodAnnotationDrivenBinder extends Object implements MethodDelegationBinder
MethodDelegationBinder
binds
method by analyzing annotations found on the target method that is subject to a method binding.Modifier and Type | Class and Description |
---|---|
static interface |
TargetMethodAnnotationDrivenBinder.DefaultsProvider
Implementations of the defaults provider interface create annotations for parameters that are not annotated with
a known annotation.
|
protected static class |
TargetMethodAnnotationDrivenBinder.DelegationProcessor
A delegation processor is a helper class for a
TargetMethodAnnotationDrivenBinder
for performing its actual logic. |
static interface |
TargetMethodAnnotationDrivenBinder.ParameterBinder<T extends Annotation>
A parameter binder is used as a delegate for binding a parameter according to a particular annotation type found
on this parameter.
|
static interface |
TargetMethodAnnotationDrivenBinder.TerminationHandler
Responsible for creating a
StackManipulation
that is applied after the interception method is applied. |
MethodDelegationBinder.AmbiguityResolver, MethodDelegationBinder.MethodBinding, MethodDelegationBinder.MethodInvoker, MethodDelegationBinder.ParameterBinding<T>, MethodDelegationBinder.Processor
Constructor and Description |
---|
TargetMethodAnnotationDrivenBinder(List<TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders,
TargetMethodAnnotationDrivenBinder.DefaultsProvider defaultsProvider,
TargetMethodAnnotationDrivenBinder.TerminationHandler terminationHandler,
Assigner assigner,
MethodDelegationBinder.MethodInvoker methodInvoker)
Creates a new method delegation binder that binds method based on annotations found on the target method.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.MethodBinding |
bind(Implementation.Target implementationTarget,
MethodDescription source,
MethodDescription target)
Attempts a binding of a source method to a given target method.
|
boolean |
equals(Object other) |
int |
hashCode() |
String |
toString() |
public TargetMethodAnnotationDrivenBinder(List<TargetMethodAnnotationDrivenBinder.ParameterBinder<?>> parameterBinders, TargetMethodAnnotationDrivenBinder.DefaultsProvider defaultsProvider, TargetMethodAnnotationDrivenBinder.TerminationHandler terminationHandler, Assigner assigner, MethodDelegationBinder.MethodInvoker methodInvoker)
parameterBinders
- A list of parameter binder delegates. Each such delegate is responsible for creating a
MethodDelegationBinder.ParameterBinding
for a specific annotation.defaultsProvider
- A provider that creates an annotation for parameters that are not annotated by any annotation
that is handled by any of the registered parameterBinders
.terminationHandler
- The termination handler to be applied.assigner
- An assigner that is supplied to the parameterBinders
and that is used for binding the return value.methodInvoker
- A delegate for applying the actual method invocation of the target method.public MethodDelegationBinder.MethodBinding bind(Implementation.Target implementationTarget, MethodDescription source, MethodDescription target)
MethodDelegationBinder
bind
in interface MethodDelegationBinder
implementationTarget
- The target of the current implementation onto which this binding
is to be applied.source
- The method that is to be bound to the target
method.target
- The method that is to be invoked as a delegate.source
method to the target
method.Copyright © 2014–2015. All rights reserved.