RFR (M) : JDK-8004561 : Addition Functional Interfaces for Lambda Libraries

Mike Duigou mike.duigou at oracle.com
Fri Feb 15 12:13:57 PST 2013


Hello All;

This patch introduces a number of new functional interfaces for use by the lambda libraries. Also included are some name changes following JSR-225 EG review. The new interfaces are:

BiConsumer
BiFunction
BiPredicate
BooleanSupplier
DoublePredicate
IntPredicate
LongPredicate
ObjDoubleConsumer
ObjIntConsumer
ObjLongConsumer
ToDoubleBiFunction
ToDoubleFunction
ToIntBiFunction
ToIntFunction
ToLongBiFunction
ToLongFunction

Renames:

Block -> Consumer
BiBlock -> BiConsumer
IntBlock -> IntConsumer
DoubleBlock -> LongConsumer
LongBlock -> LongConsumer
UnaryOperator.operate -> UnaryOperator.apply
LongUnaryOperator.operateAsLong -> LongUnaryOperator.applyAsLong
DoubleUnaryOperator.operateAsDouble -> DoubleUnaryOperator.applyAsDouble
IntUnaryOperator.operateAsInt -> IntUnaryOperator.applyAsInt
LongBinaryOperator.operateAsLong -> LongBinaryOperator.applyAsLong
DoubleBinaryOperator.operateAsDouble -> DoubleBinaryOperator.applyAsDouble
IntBinaryOperator.operateAsInt -> IntBinaryOperator.applyAsInt

All of the changes outside the java.util.function package are made to accommodate these renamings.

The webrev is located at:

http://cr.openjdk.java.net/~mduigou/JDK-8004561/1/webrev/

and specdiff for the java.util.function package is at:

http://cr.openjdk.java.net/~mduigou/JDK-8004561/1/specdiff/

Thanks!

Mike



More information about the lambda-dev mailing list