Class ProcedureExtensions

java.lang.Object
org.eclipse.xtext.xbase.lib.ProcedureExtensions

@GwtCompatible public class ProcedureExtensions extends Object
This is an extension library for procedures, e.g. side-effect only-closures.
Author:
Sebastian Zarnekow - Initial contribution and API
See Also:
  • Constructor Details

    • ProcedureExtensions

      public ProcedureExtensions()
  • Method Details

    • curry

      @Pure public static <P1> Procedures.Procedure0 curry(Procedures.Procedure1<? super P1> procedure, P1 argument)
      Curries a procedure that takes one argument.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed argument.
      Returns:
      a procedure that takes no arguments. Never null.
    • curry

      @Pure public static <P1, P2> Procedures.Procedure1<P2> curry(Procedures.Procedure2<? super P1,? super P2> procedure, P1 argument)
      Curries a procedure that takes two arguments.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed first argument of procedure.
      Returns:
      a procedure that takes one argument. Never null.
    • curry

      @Pure public static <P1, P2, P3> Procedures.Procedure2<P2,P3> curry(Procedures.Procedure3<? super P1,? super P2,? super P3> procedure, P1 argument)
      Curries a procedure that takes three arguments.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed first argument of procedure.
      Returns:
      a procedure that takes two arguments. Never null.
    • curry

      @Pure public static <P1, P2, P3, P4> Procedures.Procedure3<P2,P3,P4> curry(Procedures.Procedure4<? super P1,? super P2,? super P3,? super P4> procedure, P1 argument)
      Curries a procedure that takes four arguments.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed first argument of procedure.
      Returns:
      a procedure that takes three arguments. Never null.
    • curry

      @Pure public static <P1, P2, P3, P4, P5> Procedures.Procedure4<P2,P3,P4,P5> curry(Procedures.Procedure5<? super P1,? super P2,? super P3,? super P4,? super P5> procedure, P1 argument)
      Curries a procedure that takes five arguments.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed first argument of procedure.
      Returns:
      a procedure that takes four arguments. Never null.
    • curry

      @Pure public static <P1, P2, P3, P4, P5, P6> Procedures.Procedure5<P2,P3,P4,P5,P6> curry(Procedures.Procedure6<? super P1,? super P2,? super P3,? super P4,? super P5,? super P6> procedure, P1 argument)
      Curries a procedure that takes six arguments.
      Parameters:
      procedure - the original procedure. May not be null.
      argument - the fixed first argument of procedure.
      Returns:
      a procedure that takes five arguments. Never null.