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