Package: org.codehaus.groovy.runtime.metaclass

## [Java] Class ClosureStaticMetaMethod

- org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod

- All Implemented Interfaces and Traits:
    ClosureInvokingMethod

      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

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class MetaMethod` | `EMPTY_ARRAY`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `ClosureStaticMetaMethod(String name, Class declaringClass, Closure c)` Parameters: `name` - The name of the MetaMethod
    `ClosureStaticMetaMethod(String name, Class declaringClass, Closure c, Class[] paramTypes)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Closure` | `getClosure()` Retrieves the closure that is invoked by this MetaMethod
    `` | `public CachedClass` | `getDeclaringClass()`
    `` | `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, isSame, processDoMethodInvokeException, toString`
    `class ParameterTypes` | `coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getPT, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes`

- - ### Constructor Detail

    - #### public ClosureStaticMetaMethod(String name, 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

    - #### public ClosureStaticMetaMethod(String name, Class declaringClass, Closure c, Class[] paramTypes)

  - ### Method Detail

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

      Retrieves the closure that is invoked by this MetaMethod

      Returns:
        The closure

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

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

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

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

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