public class ParameterTypes extends Object
Method
(see areValidFor(Method)
). This is
necessary to properly match parameter values against methods declaring varargs arguments. The implementation favors
direct matches and only computes the alternative sets of types to be considered if the primary one doesn't match.Constructor and Description |
---|
ParameterTypes(List<TypeDescriptor> types,
Lazy<Collection<ParameterTypes>> alternatives) |
Modifier and Type | Method and Description |
---|---|
boolean |
areValidFor(Method method)
Returns whether the parameter types are valid for the given
Method . |
protected boolean |
canEqual(Object other) |
boolean |
equals(Object o) |
boolean |
exactlyMatchParametersOf(Method method)
Returns whether the current parameter types match the given
Method 's parameters exactly, i.e. they're
equal, not only assignable. |
protected Optional<ParameterTypes> |
getParent() |
protected Optional<ParameterTypes> |
getParent(TypeDescriptor tail) |
int |
hashCode() |
static ParameterTypes |
of(List<TypeDescriptor> types)
Returns the
ParameterTypes for the given list of TypeDescriptor s. |
String |
toString() |
protected Optional<ParameterTypes> |
withLastVarArgs() |
public ParameterTypes(List<TypeDescriptor> types, Lazy<Collection<ParameterTypes>> alternatives)
public static ParameterTypes of(List<TypeDescriptor> types)
ParameterTypes
for the given list of TypeDescriptor
s.types
- must not be null.public boolean areValidFor(Method method)
Method
. That means, a parameter value list with
the given type arrangement is a valid list to invoke the given method.method
- must not be null.public boolean exactlyMatchParametersOf(Method method)
Method
's parameters exactly, i.e. they're
equal, not only assignable.method
- must not be null.protected Optional<ParameterTypes> getParent()
protected final Optional<ParameterTypes> getParent(TypeDescriptor tail)
protected Optional<ParameterTypes> withLastVarArgs()
protected boolean canEqual(Object other)
Copyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.