org.codehaus.groovy.runtime
Class CurriedClosure

java.lang.Object
  extended by groovy.lang.GroovyObjectSupport
      extended by groovy.lang.Closure
          extended by org.codehaus.groovy.runtime.CurriedClosure
All Implemented Interfaces:
GroovyObject, Serializable, Cloneable, Runnable

public final class CurriedClosure
extends Closure

Represents wrapper around a Closure to support currying

Author:
Jochen Theodorou
See Also:
Serialized Form

Field Summary
 
Fields inherited from class groovy.lang.Closure
DELEGATE_FIRST, DELEGATE_ONLY, DONE, maximumNumberOfParameters, OWNER_FIRST, OWNER_ONLY, parameterTypes, SKIP, TO_SELF
 
Constructor Summary
CurriedClosure(Closure uncurriedClosure, int i)
           
CurriedClosure(Closure uncurriedClosure, Object[] arguments)
           
 
Method Summary
 Object clone()
           
 Object getDelegate()
           
 Class[] getParameterTypes()
           
 int getResolveStrategy()
          Gets the strategy which the closure users to resolve methods and properties
 Object[] getUncurriedArguments(Object[] arguments)
           
 void setDelegate(Object delegate)
          Allows the delegate to be changed such as when performing markup building
 void setResolveStrategy(int resolveStrategy)
          Sets the strategy which the closure uses to resolve property references.
 
Methods inherited from class groovy.lang.Closure
asWritable, call, call, call, curry, getDirective, getMaximumNumberOfParameters, getOwner, getProperty, getThisObject, isCase, run, setDirective, setProperty, throwRuntimeException
 
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
 

Constructor Detail

CurriedClosure

public CurriedClosure(Closure uncurriedClosure,
                      Object[] arguments)

CurriedClosure

public CurriedClosure(Closure uncurriedClosure,
                      int i)
Method Detail

getUncurriedArguments

public Object[] getUncurriedArguments(Object[] arguments)

setDelegate

public void setDelegate(Object delegate)
Description copied from class: Closure
Allows the delegate to be changed such as when performing markup building

Overrides:
setDelegate in class Closure
Parameters:
delegate - the new delegate

getDelegate

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

setResolveStrategy

public void setResolveStrategy(int resolveStrategy)
Description copied from class: Closure
Sets the strategy which the closure uses to resolve property references. The default is Closure.OWNER_FIRST

Overrides:
setResolveStrategy in class Closure
Parameters:
resolveStrategy - The resolve strategy to set
See Also:
Closure.DELEGATE_FIRST, Closure.DELEGATE_ONLY, Closure.OWNER_FIRST, Closure.OWNER_ONLY, Closure.TO_SELF

getResolveStrategy

public int getResolveStrategy()
Description copied from class: Closure
Gets the strategy which the closure users to resolve methods and properties

Overrides:
getResolveStrategy in class Closure
Returns:
The resolve strategy
See Also:
Closure.DELEGATE_FIRST, Closure.DELEGATE_ONLY, Closure.OWNER_FIRST, Closure.OWNER_ONLY, Closure.TO_SELF

clone

public Object clone()
Overrides:
clone in class Closure

getParameterTypes

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

Copyright © 2003-2010 The Codehaus. All rights reserved.