Request for Review : CR#8004015 : [2nd pass] Add interface extends and defaults for basic functional interfaces
Jonathan Gibbons
jonathan.gibbons at oracle.com
Tue Dec 4 23:00:43 PST 2012
To be clear, <p/> is not legal HTML (although browsers may accept it),
and the upcoming doclint will report a syntax error.
-- Jon
On 12/04/2012 10:10 PM, David Holmes wrote:
> Hi Mike,
>
> In multiple places:
>
> + * <p/>xxx ...
>
> Should that be <p> tag? Is it actually needed? (my javadoc is a bit rusty).
>
> Aside: I don't realise you could {@inheritDoc) as a simple text
> insertion mechanism.
>
> Just to be clear, the null-handling statements are intended to be
> normative and apply to anyone who might provide an implementation of
> theses classes - right?
>
> Thanks,
> David
>
> On 5/12/2012 3:47 PM, Mike Duigou wrote:
>> 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
More information about the lambda-dev
mailing list