Package 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

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `CachedClass` | `cachedClass` |
    `static CachedMethod[]` | `EMPTY_ARRAY` |

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

      `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CachedMethod​(Method method)` |
    `CachedMethod​(CachedClass clazz, Method method)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `canAccessLegally​(Class<?> callerClass)` |
    `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)` |
    `<T extends Annotation> T` | `getAnnotation​(Class<T> annotationClass)` |
    `Method` | `getCachedMethod()` |
    `CachedClass` | `getDeclaringClass()` | Gets the class where this method is declared
    `String` | `getDescriptor()` | Return a descriptor of this method based on the return type 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()` |
    `Class[]` | `getPT()` |
    `Class` | `getReturnType()` | Access the return type for this method
    `String` | `getSignature()` | Returns the signature of this method
    `CachedMethod` | `getTransformedMethod()` |
    `int` | `hashCode()` |
    `Object` | `invoke​(Object object, Object[] arguments)` | Invoke this method
    `boolean` | `isStatic()` | Returns whether or not this method is static.
    `boolean` | `isSynthetic()` |
    `Method` | `setAccessible()` |
    `void` | `setTransformedMethod​(CachedMethod transformedMethod)` |
    `String` | `toString()` | Returns a string representation of this method

    - ### 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

    - #### EMPTY_ARRAY

          public static final CachedMethod[] EMPTY_ARRAY

    - #### 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

          public 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 descriptor of this method based on the return type 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 method

    - #### 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 invoked on
        `arguments` - The arguments for the method 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 whether or not this method is static.
      Overrides:
        `isStatic` in class `MetaMethod`
      Returns:
        true if this method is static

    - #### getTransformedMethod

          public CachedMethod getTransformedMethod()

    - #### setTransformedMethod

          public void setTransformedMethod​(CachedMethod transformedMethod)

    - #### 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 method
      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)

    - #### getAnnotation

          public <T extends Annotation> T getAnnotation​(Class<T> annotationClass)

    - #### isSynthetic

          public boolean isSynthetic()

    - #### getCachedMethod

          public Method getCachedMethod()

    - #### canAccessLegally

          public boolean canAccessLegally​(Class<?> callerClass)