org.eclipse.xtext.xbase.lib
Class FunctionExtensions

java.lang.Object
  extended by org.eclipse.xtext.xbase.lib.FunctionExtensions

@GwtCompatible
public class FunctionExtensions
extends Object

This is an extension library for functions, e.g. closures.

Author:
Sven Efftinge - Initial contribution and API
See Also:
Functions

Constructor Summary
FunctionExtensions()
           
 
Method Summary
static
<P1,RESULT>
Functions.Function0<RESULT>
curry(Functions.Function1<? super P1,? extends RESULT> function, P1 argument)
          Curries a function that takes one argument.
static
<P1,P2,RESULT>
Functions.Function1<P2,RESULT>
curry(Functions.Function2<? super P1,? super P2,? extends RESULT> function, P1 argument)
          Curries a function that takes two arguments.
static
<P1,P2,P3,RESULT>
Functions.Function2<P2,P3,RESULT>
curry(Functions.Function3<? super P1,? super P2,? super P3,? extends RESULT> function, P1 argument)
          Curries a function that takes three arguments.
static
<P1,P2,P3,P4,RESULT>
Functions.Function3<P2,P3,P4,RESULT>
curry(Functions.Function4<? super P1,? super P2,? super P3,? super P4,? extends RESULT> function, P1 argument)
          Curries a function that takes four arguments.
static
<P1,P2,P3,P4,P5,RESULT>
Functions.Function4<P2,P3,P4,P5,RESULT>
curry(Functions.Function5<? super P1,? super P2,? super P3,? super P4,? super P5,? extends RESULT> function, P1 argument)
          Curries a function that takes five arguments.
static
<P1,P2,P3,P4,P5,P6,RESULT>
Functions.Function5<P2,P3,P4,P5,P6,RESULT>
curry(Functions.Function6<? super P1,? super P2,? super P3,? super P4,? super P5,? super P6,? extends RESULT> function, P1 argument)
          Curries a function that takes six arguments.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionExtensions

public FunctionExtensions()
Method Detail

curry

@Pure
public static <P1,RESULT> Functions.Function0<RESULT> curry(Functions.Function1<? super P1,? extends RESULT> function,
                                                                 P1 argument)
Curries a function that takes one argument.

Parameters:
function - the original function. May not be null.
argument - the fixed argument.
Returns:
a function that takes no arguments. Never null.

curry

@Pure
public static <P1,P2,RESULT> Functions.Function1<P2,RESULT> curry(Functions.Function2<? super P1,? super P2,? extends RESULT> function,
                                                                       P1 argument)
Curries a function that takes two arguments.

Parameters:
function - the original function. May not be null.
argument - the fixed first argument of function.
Returns:
a function that takes one argument. Never null.

curry

@Pure
public static <P1,P2,P3,RESULT> Functions.Function2<P2,P3,RESULT> curry(Functions.Function3<? super P1,? super P2,? super P3,? extends RESULT> function,
                                                                             P1 argument)
Curries a function that takes three arguments.

Parameters:
function - the original function. May not be null.
argument - the fixed first argument of function.
Returns:
a function that takes two arguments. Never null.

curry

@Pure
public static <P1,P2,P3,P4,RESULT> Functions.Function3<P2,P3,P4,RESULT> curry(Functions.Function4<? super P1,? super P2,? super P3,? super P4,? extends RESULT> function,
                                                                                   P1 argument)
Curries a function that takes four arguments.

Parameters:
function - the original function. May not be null.
argument - the fixed first argument of function.
Returns:
a function that takes three arguments. Never null.

curry

@Pure
public static <P1,P2,P3,P4,P5,RESULT> Functions.Function4<P2,P3,P4,P5,RESULT> curry(Functions.Function5<? super P1,? super P2,? super P3,? super P4,? super P5,? extends RESULT> function,
                                                                                         P1 argument)
Curries a function that takes five arguments.

Parameters:
function - the original function. May not be null.
argument - the fixed first argument of function.
Returns:
a function that takes four arguments. Never null.

curry

@Pure
public static <P1,P2,P3,P4,P5,P6,RESULT> Functions.Function5<P2,P3,P4,P5,P6,RESULT> curry(Functions.Function6<? super P1,? super P2,? super P3,? super P4,? super P5,? super P6,? extends RESULT> function,
                                                                                               P1 argument)
Curries a function that takes six arguments.

Parameters:
function - the original function. May not be null.
argument - the fixed first argument of function.
Returns:
a function that takes five arguments. Never null.


Copyright © 2013. All Rights Reserved.