|
Groovy 1.7.0 | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.lang.GroovyObjectSupport
groovy.lang.Closure
class Closure extends GroovyObjectSupport
Represents any closure object in Groovy.
Groovy allows instances of Closures to be called in a short form. For example:def a = 1 def c = {a} assert c() == 1To be able to use a Closure in this way with your own subclass, you need to provide a doCall method with any signature you want to. This ensures that #getMaximumNumberOfParameters() and #getParameterTypes() will work too without any additional code. If no doCall method is provided a closure must be used in its long form like
def a = 1 def c = {a} assert c.call() == 1
Nested Class Summary | |
---|---|
class |
Closure.WritableClosure
|
Field Summary | |
---|---|
static int |
DELEGATE_FIRST
With this resolveStrategy set the closure will attempt to resolve property references to the delegate first |
static int |
DELEGATE_ONLY
With this resolveStrategy set the closure will resolve property references to the delegate only and entirely bypass the owner |
static int |
DONE
|
static int |
OWNER_FIRST
With this resolveStrategy set the closure will attempt to resolve property references to the owner first |
static int |
OWNER_ONLY
With this resolveStrategy set the closure will resolve property references to the owner only and not call the delegate at all |
static int |
SKIP
|
static int |
TO_SELF
With this resolveStrategy set the closure will resolve property references to itself and go through the usual MetaClass look-up process. |
protected int |
maximumNumberOfParameters
|
protected Class[] |
parameterTypes
|
Constructor Summary | |
Closure(Object owner, Object thisObject)
|
|
Closure(Object owner)
|
Method Summary | |
---|---|
Closure
|
asWritable()
|
Object
|
call()
Invokes the closure without any parameters, returning any value if applicable. |
Object
|
call(Object[] args)
|
Object
|
call(Object arguments)
Invokes the closure, returning any value if applicable. |
Object
|
clone()
|
Closure
|
curry(Object[] arguments)
Support for closure currying |
Object
|
getDelegate()
typically the outer class when the closure is constructed |
int
|
getDirective()
|
int
|
getMaximumNumberOfParameters()
of this closure can take |
Object
|
getOwner()
typically the outer class when the closure is constructed |
Class[]
|
getParameterTypes()
of this closure |
Object
|
getProperty(String property)
|
int
|
getResolveStrategy()
Gets the strategy which the closure users to resolve methods and properties |
Object
|
getThisObject()
|
boolean
|
isCase(Object candidate)
|
void
|
run()
|
void
|
setDelegate(Object delegate)
Allows the delegate to be changed such as when performing markup building |
void
|
setDirective(int directive)
|
void
|
setProperty(String property, Object newValue)
|
void
|
setResolveStrategy(int resolveStrategy)
Sets the strategy which the closure uses to resolve property references. |
protected static Object
|
throwRuntimeException(Throwable throwable)
|
Methods inherited from class GroovyObjectSupport | |
---|---|
getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty |
Methods inherited from class Object | |
---|---|
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll |
Field Detail |
---|
static final int DELEGATE_FIRST
static final int DELEGATE_ONLY
static final int DONE
static final int OWNER_FIRST
static final int OWNER_ONLY
static final int SKIP
static final int TO_SELF
protected int maximumNumberOfParameters
protected Class[] parameterTypes
Constructor Detail |
---|
public Closure(Object owner, Object thisObject)
public Closure(Object owner)
Method Detail |
---|
public Closure asWritable()
public Object call()
public Object call(Object[] args)
public Object call(Object arguments)
public Object clone()
public Closure curry(Object[] arguments)
public Object getDelegate()
public int getDirective()
public int getMaximumNumberOfParameters()
public Object getOwner()
public Class[] getParameterTypes()
public Object getProperty(String property)
public int getResolveStrategy()
public Object getThisObject()
public boolean isCase(Object candidate)
public void run()
public void setDelegate(Object delegate)
public void setDirective(int directive)
public void setProperty(String property, Object newValue)
public void setResolveStrategy(int resolveStrategy)
protected static Object throwRuntimeException(Throwable throwable)
Copyright © 2003-2009 The Codehaus. All rights reserved.