org.codehaus.groovy.runtime.metaclass
Class ClosureMetaMethod
java.lang.Object
org.codehaus.groovy.reflection.ParameterTypes
groovy.lang.MetaMethod
org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod
- All Implemented Interfaces:
- ClosureInvokingMethod, java.lang.Cloneable
- Direct Known Subclasses:
- ClosureMetaMethod.MethodClosureMetaMethod
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
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 |
callable
private final Closure callable
doCall
private final CachedMethod doCall
name
private final java.lang.String name
declaringClass
private final CachedClass declaringClass
ClosureMetaMethod
public ClosureMetaMethod(java.lang.String name,
Closure c,
CachedMethod doCall)
ClosureMetaMethod
public ClosureMetaMethod(java.lang.String name,
java.lang.Class declaringClass,
Closure c,
CachedMethod doCall)
getModifiers
public int getModifiers()
- Specified by:
getModifiers
in class MetaMethod
getName
public java.lang.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 java.lang.Class getReturnType()
- Specified by:
getReturnType
in class MetaMethod
getDeclaringClass
public CachedClass getDeclaringClass()
- Specified by:
getDeclaringClass
in class MetaMethod
invoke
public java.lang.Object invoke(java.lang.Object object,
java.lang.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 java.util.List<MetaMethod> createMethodList(java.lang.String name,
java.lang.Class declaringClass,
Closure closure)
getDoCall
public CachedMethod getDoCall()
copy
public static ClosureMetaMethod copy(ClosureMetaMethod closureMethod)
Copyright © ${year} The Codehaus. All Rights Reserved.