org.codehaus.groovy.runtime.metaclass

## Class ClosureMetaMethod

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

All Implemented Interfaces:
  ClosureInvokingMethod, Cloneable

    public class ClosureMetaMethod
    extends MetaMethod
    implements ClosureInvokingMethod

A MetaMethod that accepts a closure in the constructor which is invoked when the MetaMethod is called. The delegate of the closure is set to the instance that the MetaMethod is invoked on when called.

Since:
  1.5
Author:
  Graeme Rocher

### Field Summary

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

`isVargsMethod, nativeParamTypes, parameterTypes`

### Constructor Summary

Constructors
Constructor and Description
`ClosureMetaMethod(String name, Class declaringClass, Closure c, CachedMethod doCall)`
`ClosureMetaMethod(String name, Closure c, CachedMethod doCall)`

### Method Summary

Methods
`static ClosureMetaMethod` `copy(ClosureMetaMethod closureMethod)`
`static List<MetaMethod>` `createMethodList(String name, Class declaringClass, Closure closure)`
`Closure` `getClosure()` Retrieves the closure that is invoked by this MetaMethod
`CachedClass` `getDeclaringClass()`
`CachedMethod` `getDoCall()`
`int` `getModifiers()`
`String` `getName()` The method name
`Class` `getReturnType()`
`Object` `invoke(Object object, 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, 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

#### ClosureMetaMethod

    public ClosureMetaMethod(String name,
                     Closure c,
                     CachedMethod doCall)

#### ClosureMetaMethod

    public ClosureMetaMethod(String name,
                     Class declaringClass,
                     Closure c,
                     CachedMethod doCall)

### Method Detail

#### getModifiers

    public int getModifiers()

Specified by:
  `getModifiers` in class `MetaMethod`

#### getName

    public 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 Class getReturnType()

Specified by:
  `getReturnType` in class `MetaMethod`

#### getDeclaringClass

    public CachedClass getDeclaringClass()

Specified by:
  `getDeclaringClass` in class `MetaMethod`

#### invoke

    public Object invoke(Object object,
                Object[] arguments)

Specified by:
  `invoke` 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

#### createMethodList

    public static List<MetaMethod> createMethodList(String name,
                                    Class declaringClass,
                                    Closure closure)

#### getDoCall

    public CachedMethod getDoCall()

#### copy

    public static ClosureMetaMethod copy(ClosureMetaMethod closureMethod)