Interface MethodDelegationBinder.AmbiguityResolver
- All Known Implementing Classes:
ArgumentTypeResolver, BindingPriority.Resolver, DeclaringTypeResolver, MethodDelegationBinder.AmbiguityResolver.Compound, MethodDelegationBinder.AmbiguityResolver.Directional, MethodDelegationBinder.AmbiguityResolver.NoOp, MethodNameEqualityResolver, ParameterLengthResolver
- Enclosing interface:
MethodDelegationBinder
public static interface MethodDelegationBinder.AmbiguityResolver
Implementations of this interface are able to attempt the resolution of two successful bindings of a method
to two different target methods in order to identify a dominating binding.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classA chain ofMethodDelegationBinder.AmbiguityResolvers that are applied in the given order until two bindings can be resolved.static enumAn ambiguity resolver that always resolves in the specified direction.static enumAn ambiguity resolver that does not attempt to resolve a conflicting binding.static enumA resolution state of an attempt to resolve two conflicting bindings. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final MethodDelegationBinder.AmbiguityResolverThe default ambiguity resolver to use. -
Method Summary
Modifier and TypeMethodDescriptionresolve(MethodDescription source, MethodDelegationBinder.MethodBinding left, MethodDelegationBinder.MethodBinding right) Attempts to resolve to conflicting bindings.
-
Field Details
-
DEFAULT
The default ambiguity resolver to use.
-
-
Method Details
-
resolve
MethodDelegationBinder.AmbiguityResolver.Resolution resolve(MethodDescription source, MethodDelegationBinder.MethodBinding left, MethodDelegationBinder.MethodBinding right) Attempts to resolve to conflicting bindings.- Parameters:
source- The source method that was bound to both target methods.left- The first successful binding of thesourcemethod.right- The second successful binding of thesourcemethod.- Returns:
- The resolution state when resolving a conflicting binding where
MethodDelegationBinder.AmbiguityResolver.Resolution.LEFTindicates a successful binding to theleftbinding whileMethodDelegationBinder.AmbiguityResolver.Resolution.RIGHTindicates a successful binding to therightbinding.
-