Package: org.codehaus.groovy.runtime.metaclass

## [Java] Class ClosureMetaMethod

- org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod

- All Implemented Interfaces and Traits:
    ClosureInvokingMethod

      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

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class MetaMethod` | `EMPTY_ARRAY`
    `class ParameterTypes` | `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

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

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `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()`
    `` | `Class` | `getReturnType()`
    `` | `Object` | `invoke(Object object, Object[] arguments)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class MetaMethod` | `checkParameters, clone, doMethodInvoke, equal, equal, getDeclaringClass, getDescriptor, getModifiers, getMopName, getName, getReturnType, getSignature, invoke, isAbstract, isCacheable, isMethod, isPrivate, isProtected, isPublic, isSame, isStatic, processDoMethodInvokeException, toString`
    `class ParameterTypes` | `coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getPT, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes`

- - ### Constructor Detail

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

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

  - ### Method Detail

    - #### public static ClosureMetaMethod copy(ClosureMetaMethod closureMethod)

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

    - #### public Closure getClosure()

      Retrieves the closure that is invoked by this MetaMethod

      Returns:
        The closure

    - #### public CachedClass getDeclaringClass()

    - #### public CachedMethod getDoCall()

    - #### public int getModifiers()

    - #### public String getName()

    - #### public Class getReturnType()

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