Class MethodSignature
- java.lang.Object
-
- org.apache.tapestry5.ioc.internal.services.MethodSignature
-
public class MethodSignature extends java.lang.Object
A representation of aMethod
, 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 Summary
Constructors Constructor Description MethodSignature(java.lang.Class returnType, java.lang.String name, java.lang.Class[] parameterTypes, java.lang.Class[] exceptionTypes)
MethodSignature(java.lang.reflect.Method m)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.reflect.Method
getMethod()
If this signature was created from a method, return that 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 types.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 signature's exceptions "trump" (are the same as, or super-implementations of, all exceptions thrown by the other method signature).java.lang.String
toString()
-
-
-
Constructor Detail
-
MethodSignature
public MethodSignature(java.lang.Class returnType, java.lang.String name, java.lang.Class[] parameterTypes, java.lang.Class[] exceptionTypes)
-
MethodSignature
public MethodSignature(java.lang.reflect.Method m)
-
-
Method Detail
-
getExceptionTypes
public java.lang.Class[] getExceptionTypes()
Returns the exceptions for this method. Caution: do not modify the returned array. May return null.
-
getName
public java.lang.String getName()
-
getMethod
public java.lang.reflect.Method getMethod()
If this signature was created from a method, return that method.- Since:
- 5.3
-
getParameterTypes
public java.lang.Class[] getParameterTypes()
Returns the parameter types for this method. May return null. Caution: do not modify the returned array.
-
getReturnType
public java.lang.Class getReturnType()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public 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.- Overrides:
equals
in classjava.lang.Object
- See Also:
isOverridingSignatureOf(MethodSignature)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getUniqueId
public java.lang.String getUniqueId()
Returns a string consisting of the name of the method and its parameter types. This is similar totoString()
, but omits the return type and information about thrown exceptions. A unique id is used byMethodIterator
to identify overlapping methods (methods with the same name and parameter types but with different thrown exceptions).- See Also:
isOverridingSignatureOf(MethodSignature)
-
isOverridingSignatureOf
public 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 signature's exceptions "trump" (are the same as, or super-implementations of, all exceptions thrown by the other method signature).
-
-