Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.6
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.runtime
[Java] Class CurriedClosure

    java.lang.Object
      groovy.lang.GroovyObjectSupport
          groovy.lang.Closure
              org.codehaus.groovy.runtime.CurriedClosure

    public final class CurriedClosure
    extends Closure

A wrapper for Closure to support currying. Normally used only internally through the `curry()`, `rcurry()` or `ncurry()` methods on `Closure`. Typical usages:

     // normal usage
     def unitAdder = { first, second, unit -> "${first + second} $unit" }
     assert unitAdder(10, 15, "minutes") == "25 minutes"
     assert unitAdder.curry(60)(15, "minutes") == "75 minutes"
     def minuteAdder = unitAdder.rcurry("minutes")
     assert minuteAdder(15, 60) == "75 minutes"

     // explicit creation
     import org.codehaus.groovy.runtime.CurriedClosure
     assert new CurriedClosure(unitAdder, 45)(15, "minutes") == "60 minutes"
     assert new CurriedClosure(unitAdder, "six", "ty")("minutes") == "sixty minutes"

Authors:
  Jochen Theodorou
  Paul King

Field Summary

Fields inherited from class Closure
DELEGATE_FIRST, DELEGATE_ONLY, DONE, OWNER_FIRST, OWNER_ONLY, SKIP, TO_SELF, maximumNumberOfParameters, parameterTypes

Constructor Summary
`CurriedClosure(int index, Closure uncurriedClosure, Object[] arguments)`
`CurriedClosure(Closure uncurriedClosure, Object[] arguments)`
`CurriedClosure(Closure uncurriedClosure, int i)`

Method Summary
`Object` | `clone()`
`Object` | `getDelegate()`
`Class[]` | `getParameterTypes()`
`int` | `getResolveStrategy()`
`Object[]` | `getUncurriedArguments(Object[] arguments)`
`void` | `setDelegate(Object delegate)`
`void` | `setResolveStrategy(int resolveStrategy)`

Methods inherited from class Closure
asWritable, call, call, call, clone, curry, getDelegate, getDirective, getMaximumNumberOfParameters, getOwner, getParameterTypes, getProperty, getResolveStrategy, getThisObject, isCase, ncurry, rcurry, run, setDelegate, setDirective, setProperty, setResolveStrategy, throwRuntimeException

Methods inherited from class GroovyObjectSupport
getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty

Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Constructor Detail

### CurriedClosure

    public CurriedClosure(int index, Closure uncurriedClosure, Object[] arguments)

### CurriedClosure

    public CurriedClosure(Closure uncurriedClosure, Object[] arguments)

### CurriedClosure

    @Deprecated
    public CurriedClosure(Closure uncurriedClosure, int i)

Method Detail

### clone

    public Object clone()

### getDelegate

    public Object getDelegate()

### getParameterTypes

    public Class[] getParameterTypes()

### getResolveStrategy

    public int getResolveStrategy()

### getUncurriedArguments

    public Object[] getUncurriedArguments(Object[] arguments)

### setDelegate

    public void setDelegate(Object delegate)

### setResolveStrategy

    public void setResolveStrategy(int resolveStrategy)

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