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`, `java.lang.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`

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

  `isVargsMethod, nativeParamTypes, parameterTypes`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `ClosureStaticMetaMethod​(java.lang.String name, java.lang.Class declaringClass, Closure c)` |
  `ClosureStaticMetaMethod​(java.lang.String name, java.lang.Class declaringClass, Closure c, java.lang.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 for this method
  `java.lang.String` | `getName()` | Returns the name of the method represented by this class
  `java.lang.Class` | `getReturnType()` | Access the return type for this method
  `java.lang.Object` | `invoke​(java.lang.Object object, java.lang.Object[] arguments)` | Invoke this method

  ### 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, 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 Details

  - ### ClosureStaticMetaMethod

    public ClosureStaticMetaMethod​(java.lang.String name, java.lang.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​(java.lang.String name, java.lang.Class declaringClass, Closure c, java.lang.Class[] paramTypes)

- ## Method Details

  - ### invoke

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

  - ### getName

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

  - ### getReturnType

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