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
    --- | --- | ---
    `` | `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
    `` | `public CachedClass` | `getDeclaringClass()`
    `` | `public CachedMethod` | `getDoCall()`
    `` | `public int` | `getModifiers()`
    `` | `public String` | `getName()`
    `` | `public Class` | `getReturnType()`
    `` | `public 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, isDefault, 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)

    - #### @Override public Closure getClosure()

      Retrieves the closure that is invoked by this MetaMethod

      Returns:
        The closure

    - #### @Override public CachedClass getDeclaringClass()

    - #### public CachedMethod getDoCall()

    - #### @Override public int getModifiers()

    - #### @Override public String getName()

    - #### @Override public Class getReturnType()

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