groovy.lang
Class Closure

java.lang.Object
  extended bygroovy.lang.GroovyObjectSupport
      extended bygroovy.lang.Closure
All Implemented Interfaces:
Cloneable, GroovyObject, Runnable
Direct Known Subclasses:
CurriedClosure, IteratorClosureAdapter, MethodClosure

public abstract class Closure
extends GroovyObjectSupport
implements Cloneable, Runnable

Represents any closure object in Groovy.

Version:
$Revision: 1.58 $
Author:
James Strachan, John Wilson

Field Summary
static int DONE
           
protected  int maximumNumberOfParameters
           
static int SKIP
           
 
Constructor Summary
Closure(Object owner)
           
 
Method Summary
 Closure asWritable()
           
 Object call()
          Invokes the closure without any parameters, returning any value if applicable.
 Object call(Object arguments)
          Invokes the closure, returning any value if applicable.
 Object call(Object[] args)
           
 Object clone()
           
 Closure curry(Object[] arguments)
          Support for closure currying
 Object getDelegate()
           
 int getDirective()
           
 int getMaximumNumberOfParameters()
           
 Object getOwner()
           
 Class[] getParameterTypes()
           
 Object getProperty(String property)
           
 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)
          Sets the given property to the new value
protected static Object throwRuntimeException(Throwable throwable)
           
 
Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, invokeMethod, setMetaClass
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maximumNumberOfParameters

protected int maximumNumberOfParameters

DONE

public static int DONE

SKIP

public static int SKIP
Constructor Detail

Closure

public Closure(Object owner)
Method Detail

getProperty

public Object getProperty(String property)
Specified by:
getProperty in interface GroovyObject
Overrides:
getProperty in class GroovyObjectSupport

setProperty

public void setProperty(String property,
                        Object newValue)
Description copied from interface: GroovyObject
Sets the given property to the new value

Specified by:
setProperty in interface GroovyObject
Overrides:
setProperty in class GroovyObjectSupport

isCase

public boolean isCase(Object candidate)

call

public Object call()
Invokes the closure without any parameters, returning any value if applicable.

Returns:
the value if applicable or null if there is no return statement in the closure

call

public Object call(Object[] args)

call

public Object call(Object arguments)
Invokes the closure, returning any value if applicable.

Parameters:
arguments - could be a single value or a List of values
Returns:
the value if applicable or null if there is no return statement in the closure

throwRuntimeException

protected static Object throwRuntimeException(Throwable throwable)

getOwner

public Object getOwner()
Returns:
the owner Object to which method calls will go which is typically the outer class when the closure is constructed

getDelegate

public Object getDelegate()
Returns:
the delegate Object to which method calls will go which is typically the outer class when the closure is constructed

setDelegate

public void setDelegate(Object delegate)
Allows the delegate to be changed such as when performing markup building

Parameters:
delegate -

getParameterTypes

public Class[] getParameterTypes()
Returns:
the parameter types of the longest doCall method of this closure

getMaximumNumberOfParameters

public int getMaximumNumberOfParameters()
Returns:
the maximum number of parameters a doCall methos of this closure can take

asWritable

public Closure asWritable()
Returns:
a version of this closure which implements Writable

run

public void run()
Specified by:
run in interface Runnable

curry

public Closure curry(Object[] arguments)
Support for closure currying

Parameters:
arguments -

clone

public Object clone()

getDirective

public int getDirective()
Returns:
Returns the directive.

setDirective

public void setDirective(int directive)
Parameters:
directive - The directive to set.


Copyright © 2003-2007 The Codehaus. All Rights Reserved.