Package org.apache.tapestry5.ioc.internal.services

## Class MethodSignature

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.services.MethodSignature

-     public class MethodSignature
      extends java.lang.Object

  A representation of a `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 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()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### 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 class `java.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 class `java.lang.Object`
      See Also:
        `isOverridingSignatureOf(MethodSignature)`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.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 to `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 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).