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