public enum ArgumentTypeResolver extends Enum<ArgumentTypeResolver> implements MethodDelegationBinder.AmbiguityResolver
MethodDelegationBinder.AmbiguityResolver
that resolves two conflicting bindings by considering most-specific types of target method parameters in the same manner
as the Java compiler resolves bindings of overloaded method.
This ambiguity resolver:
For example: If a source method only parameter was successfully bound one-to-one to the only parameters of the target methods
foo(Object) and bar(String), this ambiguity resolver will detect that the String type
is more specific than the Object type and determine bar(String) as the dominant binding.| Modifier and Type | Class and Description |
|---|---|
static class |
ArgumentTypeResolver.ParameterIndexToken
This token is used to mark a one-to-one binding of a source method parameter to a target method parameter.
|
protected static class |
ArgumentTypeResolver.PrimitiveTypePrecedence
A representation of the precedence of a most specific primitive type in the Java programming language.
|
MethodDelegationBinder.AmbiguityResolver.Chain, MethodDelegationBinder.AmbiguityResolver.Directional, MethodDelegationBinder.AmbiguityResolver.NoOp, MethodDelegationBinder.AmbiguityResolver.Resolution| Enum Constant and Description |
|---|
INSTANCE
The singleton instance.
|
DEFAULT| Modifier and Type | Method and Description |
|---|---|
MethodDelegationBinder.AmbiguityResolver.Resolution |
resolve(MethodDescription source,
MethodDelegationBinder.MethodBinding left,
MethodDelegationBinder.MethodBinding right)
Attempts to resolve to conflicting bindings.
|
String |
toString() |
static ArgumentTypeResolver |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static ArgumentTypeResolver[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final ArgumentTypeResolver INSTANCE
public static ArgumentTypeResolver[] values()
for (ArgumentTypeResolver c : ArgumentTypeResolver.values()) System.out.println(c);
public static ArgumentTypeResolver valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullpublic MethodDelegationBinder.AmbiguityResolver.Resolution resolve(MethodDescription source, MethodDelegationBinder.MethodBinding left, MethodDelegationBinder.MethodBinding right)
MethodDelegationBinder.AmbiguityResolverresolve in interface MethodDelegationBinder.AmbiguityResolversource - The source method that was bound to both target methods.left - The first successful binding of the source method.right - The second successful binding of the source method.MethodDelegationBinder.AmbiguityResolver.Resolution.LEFT
indicates a successful binding to the left binding while
MethodDelegationBinder.AmbiguityResolver.Resolution.RIGHT
indicates a successful binding to the right binding.public String toString()
toString in class Enum<ArgumentTypeResolver>Copyright © 2014–2016. All rights reserved.