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
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.5
-
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 ClosureMetaMethod(java.lang.String name, Closure c, CachedMethod doCall)
ClosureMetaMethod(java.lang.String name, java.lang.Class declaringClass, Closure c, CachedMethod doCall)
-
Method Summary
Modifier and Type Method Description static ClosureMetaMethod
copy(ClosureMetaMethod closureMethod)
static java.util.List<MetaMethod>
createMethodList(java.lang.String name, java.lang.Class declaringClass, Closure closure)
Closure
getClosure()
Retrieves the closure that is invoked by this MetaMethodCachedClass
getDeclaringClass()
Gets the class where this method is declaredCachedMethod
getDoCall()
int
getModifiers()
Returns the modifiers for this methodjava.lang.String
getName()
Returns the name of the method represented by this classjava.lang.Class
getReturnType()
Access the return type for this methodjava.lang.Object
invoke(java.lang.Object object, java.lang.Object[] arguments)
Invoke this methodMethods 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
-
ClosureMetaMethod
-
ClosureMetaMethod
public ClosureMetaMethod(java.lang.String name, java.lang.Class declaringClass, Closure c, CachedMethod doCall)
-
-
Method Details
-
getModifiers
public int getModifiers()Description copied from class:MetaMethod
Returns the modifiers for this method- Specified by:
getModifiers
in classMetaMethod
- 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 interfaceClosureInvokingMethod
- Specified by:
getName
in classMetaMethod
- 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 classMetaMethod
- Returns:
- the return type of this method
-
getDeclaringClass
Description copied from class:MetaMethod
Gets the class where this method is declared- Specified by:
getDeclaringClass
in classMetaMethod
- Returns:
- class of this method
-
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 classMetaMethod
- Parameters:
object
- The object this method should be invoked onarguments
- The arguments for the method if applicable- Returns:
- The return value of the invocation
-
getClosure
Retrieves the closure that is invoked by this MetaMethod- Specified by:
getClosure
in interfaceClosureInvokingMethod
- Returns:
- The closure
-
createMethodList
public static java.util.List<MetaMethod> createMethodList(java.lang.String name, java.lang.Class declaringClass, Closure closure) -
getDoCall
-
copy
-