org.codehaus.groovy.runtime.metaclass

## Class ClosureStaticMetaMethod

- java.lang.Object
- - org.codehaus.groovy.reflection.ParameterTypes
  - - groovy.lang.MetaMethod
    - - org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod

- All Implemented Interfaces:
    ClosureInvokingMethod, java.lang.Cloneable

      public class ClosureStaticMetaMethod
      extends MetaMethod
      implements ClosureInvokingMethod

  This class represents a MetaMethod that is a closure that pretends to be a static method. It is used by ExpandoMetaClass to allow addition of static methods defined as closures
  Since:
    01.1
  Author:
    Graeme Rocher

- - ### Field Summary

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

      `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClosureStaticMetaMethod(java.lang.String name, java.lang.Class declaringClass, Closure c)`
    `ClosureStaticMetaMethod(java.lang.String name, java.lang.Class declaringClass, Closure c, java.lang.Class[] paramTypes)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Closure` | `getClosure()` Retrieves the closure that is invoked by this MetaMethod
    `CachedClass` | `getDeclaringClass()` Gets the class where this method is declared
    `int` | `getModifiers()` Returns the modifiers for this method
    `java.lang.String` | `getName()` Returns the name of the method represented by this class
    `java.lang.Class` | `getReturnType()` Access the return type for this method
    `java.lang.Object` | `invoke(java.lang.Object object, java.lang.Object[] arguments)` Invoke this method

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

      `checkParameters, clone, doMethodInvoke, equal, equal, getDescriptor, getMopName, getSignature, isAbstract, isCacheable, isMethod, isPrivate, isProtected, isPublic, isSame, isStatic, processDoMethodInvokeException, toString`

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

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

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

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface groovy.lang.ClosureInvokingMethod

      `isStatic`

- - ### Constructor Detail

    - #### ClosureStaticMetaMethod

          public ClosureStaticMetaMethod(java.lang.String name,
                                         java.lang.Class declaringClass,
                                         Closure c)

      Parameters:
        `name` - The name of the MetaMethod
        `declaringClass` - The class which declared the MetaMethod
        `c` - The closure that this ClosureMetaMethod will invoke when called

    - #### ClosureStaticMetaMethod

          public ClosureStaticMetaMethod(java.lang.String name,
                                         java.lang.Class declaringClass,
                                         Closure c,
                                         java.lang.Class[] paramTypes)

  - ### Method Detail

    - #### invoke

          public java.lang.Object invoke(java.lang.Object object,
                                         java.lang.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

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

    - #### getName

          public java.lang.String getName()

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

    - #### getReturnType

          public java.lang.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

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

    - #### getClosure

          public Closure getClosure()

      Retrieves the closure that is invoked by this MetaMethod
      Specified by:
        `getClosure` in interface `ClosureInvokingMethod`
      Returns:
        The closure