Package 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

- - ### Field Summary

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

      `EMPTY_ARRAY`

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

      `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

    Constructors
    Constructor | 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 | 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