public static class Pipe.Binder extends Object implements TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe>, MethodLookupEngine.Factory, MethodLookupEngine
TargetMethodAnnotationDrivenBinder.ParameterBinder
for binding the Pipe
annotation.Modifier and Type | Class and Description |
---|---|
protected class |
Pipe.Binder.PrecomputedFinding
A precomputed finding for an installed type of a
Pipe.Binder . |
protected static class |
Pipe.Binder.Redirection
An auxiliary type for performing the redirection of a method invocation as requested by the
Pipe annotation. |
MethodLookupEngine.ConflictingInterfaceMethod, MethodLookupEngine.Default, MethodLookupEngine.Factory, MethodLookupEngine.Finding, MethodLookupEngine.OverridenClassMethod
Modifier | Constructor and Description |
---|---|
protected |
Binder(MethodDescription forwardingMethod)
Creates a new binder.
|
Modifier and Type | Method and Description |
---|---|
MethodDelegationBinder.ParameterBinding<?> |
bind(AnnotationDescription.Loadable<Pipe> annotation,
MethodDescription source,
ParameterDescription target,
Implementation.Target implementationTarget,
Assigner assigner)
Creates a parameter binding for the given target parameter.
|
boolean |
equals(Object other) |
Class<Pipe> |
getHandledType()
The annotation type that is handled by this parameter binder.
|
int |
hashCode() |
static TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe> |
install(Class<?> type)
Installs a given type for use on a
Pipe
annotation. |
static TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe> |
install(TypeDescription typeDescription)
Installs a given type for use on a
Pipe
annotation. |
MethodLookupEngine |
make(boolean extractDefaultMethods)
Returns a
MethodLookupEngine . |
MethodLookupEngine.Finding |
process(TypeDescription typeDescription)
Retrieves all methods that can be called on a given type.
|
String |
toString() |
protected Binder(MethodDescription forwardingMethod)
install(Class)
method.public static TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe> install(Class<?> type)
Pipe
annotation. The given type must be an interface without any super interfaces and a single method which
maps an Object
type to another Object
type. The use of generics is
permitted.type
- The type to install.Pipe
annotation.public static TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe> install(TypeDescription typeDescription)
Pipe
annotation. The given type must be an interface without any super interfaces and a single method which
maps an Object
type to another Object
type. The use of generics is
permitted.typeDescription
- The type to install.Pipe
annotation.public Class<Pipe> getHandledType()
TargetMethodAnnotationDrivenBinder.ParameterBinder
getHandledType
in interface TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe>
Annotation.annotationType()
handled by this parameter binder.public MethodDelegationBinder.ParameterBinding<?> bind(AnnotationDescription.Loadable<Pipe> annotation, MethodDescription source, ParameterDescription target, Implementation.Target implementationTarget, Assigner assigner)
TargetMethodAnnotationDrivenBinder.ParameterBinder
bind
in interface TargetMethodAnnotationDrivenBinder.ParameterBinder<Pipe>
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.public MethodLookupEngine make(boolean extractDefaultMethods)
MethodLookupEngine.Factory
MethodLookupEngine
.make
in interface MethodLookupEngine.Factory
extractDefaultMethods
- true
if interface default methods should be resolved.MethodLookupEngine
.public MethodLookupEngine.Finding process(TypeDescription typeDescription)
MethodLookupEngine
Class.getMethods()
, methods of identical
signature of incompatible interfaces must only be returned once. These methods should be represented by some
sort of virtual method description which is fully aware of its state. All virtually invokable methods must be
contained in this lookup. Static methods, constructors and private methods must however only be contained
for the actual class's type.
The
process
in interface MethodLookupEngine
typeDescription
- The type for which all invokable methods should be looked up.Copyright © 2014–2015. All rights reserved.