Hello all; I have updated the proposed patch. The changes primarily add class and method documentation regarding handling of null for the primitive specializations.
http://cr.openjdk.java.net/~mduigou/8004015/1/webrev/ http://cr.openjdk.java.net/~mduigou/8004015/1/specdiff/java/util/function/package-summary.html I've also reformatted the source for the default methods. Mike On Nov 26 2012, at 18:12 , Mike Duigou wrote: > Hello all; > > In the original patch which added the basic lambda functional interfaces, > CR#8001634 [1], none of the interfaces extended other interfaces. The reason > was primarily that the javac compiler did not, at the time that 8001634 was > proposed, support extension methods. The compiler now supports adding of > method defaults so this patch improves the functional interfaces by filing in > the inheritance hierarchy. > > Adding the parent interfaces and default methods allows each functional > interface to be used in more places. It is especially important for the > functional interfaces which support primitive types, IntSupplier, > IntFunction, IntUnaryOperator, IntBinaryOperator, etc. We expect that > eventually standard implementations of these interfaces will be provided for > functions like max, min, sum, etc. By extending the reference oriented > functional interfaces such as Function, the primitive implementations can be > used with the boxed primitive types along with the primitive types for which > they are defined. > > The patch to add parent interfaces and default methods can be found here: > > http://cr.openjdk.java.net/~mduigou/8004015/0/webrev/ > http://cr.openjdk.java.net/~mduigou/8004015/0/specdiff/java/util/function/package-summary.html > > Mike > > [1] http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c2e80176a697