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

Field Summary
private  Closure callable
           
private  CachedClass declaringClass
           
private  java.lang.String name
           
 
Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes
isVargsMethod, nativeParamTypes, parameterTypes
 
Constructor Summary
ClosureMetaMethod(java.lang.String name, java.lang.Class declaringClass, Closure c)
           
ClosureMetaMethod(java.lang.String name, Closure c)
           
 
Method Summary
 Closure getClosure()
          Retrieves the closure that is invoked by this MetaMethod
 CachedClass getDeclaringClass()
           
 int getModifiers()
           
 java.lang.String getName()
          The method name
 java.lang.Class getReturnType()
           
 java.lang.Object invoke(java.lang.Object object, java.lang.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
 

Field Detail

callable

private final Closure callable

name

private final java.lang.String name

declaringClass

private final CachedClass declaringClass
Constructor Detail

ClosureMetaMethod

public ClosureMetaMethod(java.lang.String name,
                         Closure c)

ClosureMetaMethod

public ClosureMetaMethod(java.lang.String name,
                         java.lang.Class declaringClass,
                         Closure c)
Method Detail

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


Copyright © ${year} The Codehaus. All Rights Reserved.