org.codehaus.groovy.runtime.metaclass
Class ClosureMetaMethod

java.lang.Object
  extended by org.codehaus.groovy.reflection.ParameterTypes
      extended by groovy.lang.MetaMethod
          extended by org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod
All Implemented Interfaces:
ClosureInvokingMethod, Cloneable

public class ClosureMetaMethod
extends MetaMethod
implements ClosureInvokingMethod

A MetaMethod that accepts a closure in the constructor which is invoked when the MetaMethod is called. The delegate of the closure is set to the instance that the MetaMethod is invoked on when called.

Since:
1.1
Author:
Graeme Rocher

Field Summary
 
Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes
isVargsMethod, nativeParamTypes, parameterTypes
 
Constructor Summary
ClosureMetaMethod(String name, Class declaringClass, Closure c, CachedMethod doCall)
           
ClosureMetaMethod(String name, Closure c, CachedMethod doCall)
           
 
Method Summary
static ClosureMetaMethod copy(ClosureMetaMethod closureMethod)
           
static List<MetaMethod> createMethodList(String name, Class declaringClass, Closure closure)
           
 Closure getClosure()
          Retrieves the closure that is invoked by this MetaMethod
 CachedClass getDeclaringClass()
           
 CachedMethod getDoCall()
           
 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

ClosureMetaMethod

public ClosureMetaMethod(String name,
                         Closure c,
                         CachedMethod doCall)

ClosureMetaMethod

public ClosureMetaMethod(String name,
                         Class declaringClass,
                         Closure c,
                         CachedMethod doCall)
Method Detail

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

invoke

public Object invoke(Object object,
                     Object[] arguments)
Specified by:
invoke 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

createMethodList

public static List<MetaMethod> createMethodList(String name,
                                                Class declaringClass,
                                                Closure closure)

getDoCall

public CachedMethod getDoCall()

copy

public static ClosureMetaMethod copy(ClosureMetaMethod closureMethod)

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