Package 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`, `MetaMember`, `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

- ## Field Summary

  ### Fields inherited from class groovy.lang.MetaMethod

  `EMPTY_ARRAY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClosureStaticMetaMethod(String name, Class declaringClass, Closure c)`
  `ClosureStaticMetaMethod(String name, Class declaringClass, Closure c, Class[] paramTypes)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 of this method.
  `String`
  `getName()`
  Returns the name of this method.
  `Class`
  `getReturnType()`
  Returns the return type for this method.
  `Object`
  `invoke(Object object, Object[] arguments)`
  Invokes this method.

  ### Methods inherited from class groovy.lang.MetaMethod

  `checkParameters, clone, doMethodInvoke, equal, equal, getDescriptor, getMopName, getSignature, isAbstract, isCacheable, isDefault, isMethod, isSame, 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.MetaMember

  `isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic`

- ## Constructor Details

  - ### ClosureStaticMetaMethod

    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

  - ### ClosureStaticMetaMethod

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

- ## Method Details

  - ### invoke

    public Object invoke(Object object, Object[] arguments)
    Description copied from class: `MetaMethod`
    Invokes 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 of this method.
    Specified by:
      `getModifiers` in interface `MetaMember`
    Specified by:
      `getModifiers` in class `MetaMethod`
    Returns:
      modifiers as an int.

  - ### getName

    public String getName()
    Description copied from class: `MetaMethod`
    Returns the name of this method.
    Specified by:
      `getName` in interface `MetaMember`
    Specified by:
      `getName` in class `MetaMethod`
    Returns:
      name of this method

  - ### getReturnType

    public Class getReturnType()
    Description copied from class: `MetaMethod`
    Returns 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