public class MethodSignature extends java.lang.Object
Method
, identifying the name, return type,
parameter types and exception types. Actual Method objects are tied to a particular class, and
don't compare well with other otherwise identical Methods from other classes or interface;
MethodSignatures are distinct from classes and compare well.
Because the intended purpose is to compare methods from interfaces (which are always public and abstract) we don't bother to actually track the modifiers. In addition, at this time, MethodSignature does not distinguish between instance and static methods.
Constructor and Description |
---|
MethodSignature(java.lang.Class returnType,
java.lang.String name,
java.lang.Class[] parameterTypes,
java.lang.Class[] exceptionTypes) |
MethodSignature(java.lang.reflect.Method m) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o)
Returns true if the other object is an instance of MethodSignature with identical values for
return type, name, parameter types and exception types.
|
java.lang.Class[] |
getExceptionTypes()
Returns the exceptions for this method.
|
java.lang.String |
getName() |
java.lang.Class[] |
getParameterTypes()
Returns the parameter types for this method.
|
java.lang.Class |
getReturnType() |
java.lang.String |
getUniqueId()
Returns a string consisting of the name of the method and its parameter values.
|
int |
hashCode() |
boolean |
isOverridingSignatureOf(MethodSignature ms)
Returns true if this signature has the same return type, name and parameters types as the
method signature passed in, and this signatures exceptions "trump" (are the same as, or
super-implementations of, all exceptions thrown by the other method signature).
|
java.lang.String |
toString() |
public MethodSignature(java.lang.Class returnType, java.lang.String name, java.lang.Class[] parameterTypes, java.lang.Class[] exceptionTypes)
public MethodSignature(java.lang.reflect.Method m)
public java.lang.Class[] getExceptionTypes()
public java.lang.String getName()
public java.lang.Class[] getParameterTypes()
public java.lang.Class getReturnType()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getUniqueId()
toString()
, but omits the return type and information about thrown
exceptions. A unique id is used by MethodIterator
to identify overlapping methods
(methods with the same name but different thrown exceptions).public boolean isOverridingSignatureOf(MethodSignature ms)