org.codehaus.groovy.runtime.metaclass
Class ClosureStaticMetaMethod

java.lang.Object
  extended by org.codehaus.groovy.reflection.ParameterTypes
      extended by groovy.lang.MetaMethod
          extended by 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, correctArguments, getNativeParameterTypes, getParameterTypes, getPT, isValidExactMethod, isValidExactMethod, 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-2009 The Codehaus. All rights reserved.