## 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, 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
Author:
  Graeme Rocher

Field Summary

Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes
`isVargsMethod, nativeParamTypes, parameterTypes`

Constructor Summary
`ClosureStaticMetaMethod(String name, Class declaringClass, Closure c)`

Method Summary
`Closure` `getClosure()` Retrieves the closure that is invoked by this MetaMethod
`CachedClass` `getDeclaringClass()`
`int` `getModifiers()`
`String` `getName()` The method name
`Class` `getReturnType()`
`Object` `invoke(Object object, Object[] arguments)`

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, getNativeParameterTypes, getParameterTypes, getPT, isValidMethod, isValidMethod, 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 Detail

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

Method Detail

### invoke

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

  Specified by:
    `invoke` in class `MetaMethod`

### getModifiers

    public int getModifiers()

  Specified by:
    `getModifiers` in class `MetaMethod`

### getName

    public String getName()

  Description copied from interface: `ClosureInvokingMethod`
  The method name

  Specified by:
    `getName` in interface `ClosureInvokingMethod`
  Specified by:
    `getName` in class `MetaMethod`
  Returns:
    The method name

### getReturnType

    public Class getReturnType()

  Specified by:
    `getReturnType` in class `MetaMethod`

### getDeclaringClass

    public CachedClass getDeclaringClass()

  Specified by:
    `getDeclaringClass` in class `MetaMethod`

### getClosure

    public Closure getClosure()

  Retrieves the closure that is invoked by this MetaMethod

  Specified by:
    `getClosure` in interface `ClosureInvokingMethod`
  Returns:
    The closure

Copyright © 2003-2008 The Codehaus. All rights reserved.