org.codehaus.groovy.reflection

## Class CachedMethod

- java.lang.Object
- - org.codehaus.groovy.reflection.ParameterTypes
  - - groovy.lang.MetaMethod
    - - org.codehaus.groovy.reflection.CachedMethod

- All Implemented Interfaces:
    Cloneable, Comparable

      public class CachedMethod
      extends MetaMethod
      implements Comparable

  Author:
    Alex.Tkachman

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `CachedClass` | `cachedClass`

    - ### Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes

      `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachedMethod(CachedClass clazz, Method method)`
    `CachedMethod(Method method)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(Object o)`
    `CallSite` | `createPogoMetaMethodSite(CallSite site, MetaClassImpl metaClass, Class[] params)`
    `CallSite` | `createPojoMetaMethodSite(CallSite site, MetaClassImpl metaClass, Class[] params)`
    `CallSite` | `createStaticMetaMethodSite(CallSite site, MetaClassImpl metaClass, Class[] params)`
    `boolean` | `equals(Object o)`
    `static CachedMethod` | `find(Method method)`
    `Method` | `getCachedMethod()`
    `CachedClass` | `getDeclaringClass()` Gets the class where this method is declared
    `String` | `getDescriptor()` Return a descriptior of this method based on the returntype and parameters of this method.
    `int` | `getModifiers()` Returns the modifiers for this method
    `String` | `getName()` Returns the name of the method represented by this class
    `int` | `getParamsCount()`
    `ParameterTypes` | `getParamTypes()`
    `protected Class[]` | `getPT()`
    `Class` | `getReturnType()` Access the return type for this method
    `String` | `getSignature()` Returns the signature of this method
    `int` | `hashCode()`
    `Object` | `invoke(Object object, Object[] arguments)` Invoke this method
    `boolean` | `isStatic()` Returns wether or not this method is static.
    `Method` | `setAccessible()`
    `String` | `toString()` Returns a string representation of this mehthod

    - ### Methods inherited from class groovy.lang.MetaMethod

      `checkParameters, clone, doMethodInvoke, equal, equal, getMopName, isAbstract, isCacheable, isMethod, isPrivate, isProtected, isPublic, isSame, processDoMethodInvokeException`

    - ### Methods inherited from class org.codehaus.groovy.reflection.ParameterTypes

      `coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes`

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

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

- - ### Field Detail

    - #### cachedClass

          public final CachedClass cachedClass

  - ### Constructor Detail

    - #### CachedMethod

          public CachedMethod(CachedClass clazz,
                      Method method)

    - #### CachedMethod

          public CachedMethod(Method method)

  - ### Method Detail

    - #### find

          public static CachedMethod find(Method method)

    - #### getPT

          protected Class[] getPT()

      Overrides:
        `getPT` in class `ParameterTypes`

    - #### getName

          public String getName()

      Description copied from class: `MetaMethod`
      Returns the name of the method represented by this class
      Specified by:
        `getName` in class `MetaMethod`
      Returns:
        name of this method

    - #### getDescriptor

          public String getDescriptor()

      Description copied from class: `MetaMethod`
      Return a descriptior of this method based on the returntype and parameters of this method.
      Overrides:
        `getDescriptor` in class `MetaMethod`

    - #### getDeclaringClass

          public CachedClass getDeclaringClass()

      Description copied from class: `MetaMethod`
      Gets the class where this method is declared
      Specified by:
        `getDeclaringClass` in class `MetaMethod`
      Returns:
        class of this mehtod

    - #### invoke

          public final Object invoke(Object object,
                      Object[] arguments)

      Description copied from class: `MetaMethod`
      Invoke this method
      Specified by:
        `invoke` in class `MetaMethod`
      Parameters:
        `object` - The object this method should be involded on
        `arguments` - The arguments for the menthod if applicable
      Returns:
        The return value of the invocation

    - #### getParamTypes

          public ParameterTypes getParamTypes()

    - #### getReturnType

          public Class getReturnType()

      Description copied from class: `MetaMethod`
      Access the return type for this method
      Specified by:
        `getReturnType` in class `MetaMethod`
      Returns:
        the return type of this method

    - #### getParamsCount

          public int getParamsCount()

    - #### getModifiers

          public int getModifiers()

      Description copied from class: `MetaMethod`
      Returns the modifiers for this method
      Specified by:
        `getModifiers` in class `MetaMethod`
      Returns:
        modifiers as an int.

    - #### getSignature

          public String getSignature()

      Description copied from class: `MetaMethod`
      Returns the signature of this method
      Overrides:
        `getSignature` in class `MetaMethod`
      Returns:
        The signature of this method

    - #### setAccessible

          public final Method setAccessible()

    - #### isStatic

          public boolean isStatic()

      Description copied from class: `MetaMethod`
      Returns wether or not this method is static.
      Overrides:
        `isStatic` in class `MetaMethod`
      Returns:
        true if this method is static

    - #### compareTo

          public int compareTo(Object o)

      Specified by:
        `compareTo` in interface `Comparable`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Description copied from class: `MetaMethod`
      Returns a string representation of this mehthod
      Overrides:
        `toString` in class `MetaMethod`

    - #### createPogoMetaMethodSite

          public CallSite createPogoMetaMethodSite(CallSite site,
                                          MetaClassImpl metaClass,
                                          Class[] params)

    - #### createPojoMetaMethodSite

          public CallSite createPojoMetaMethodSite(CallSite site,
                                          MetaClassImpl metaClass,
                                          Class[] params)

    - #### createStaticMetaMethodSite

          public CallSite createStaticMetaMethodSite(CallSite site,
                                            MetaClassImpl metaClass,
                                            Class[] params)

    - #### getCachedMethod

          public Method getCachedMethod()