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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Closure` | `getClosure()` Retrieves the closure that is invoked by this MetaMethod
    `CachedClass` | `getDeclaringClass()`
    `int` | `getModifiers()`
    `java.lang.String` | `getName()` The method name
    `java.lang.Class` | `getReturnType()`
    `java.lang.Object` | `invoke(java.lang.Object object, java.lang.Object[] arguments)`

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

      Specified by:
        `invoke` in class `MetaMethod`

    - #### getModifiers

          public int getModifiers()

      Specified by:
        `getModifiers` in class `MetaMethod`

    - #### getName

          public java.lang.String getName()

      Description copied from interface: `ClosureInvokingMethod`
      The method name
      Specified by:
        `getName` in interface `ClosureInvokingMethod`
      Specified by:
        `getName` in class `MetaMethod`
      Returns:
        The method name

    - #### getReturnType

          public java.lang.Class getReturnType()

      Specified by:
        `getReturnType` in class `MetaMethod`

    - #### getDeclaringClass

          public CachedClass getDeclaringClass()

      Specified by:
        `getDeclaringClass` in class `MetaMethod`

    - #### getClosure

          public Closure getClosure()

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