RFR JDK-8010096 : Initial java.util.Spliterator putback

Alan Bateman Alan.Bateman at oracle.com
Mon Apr 1 09:13:32 PDT 2013


On 28/03/2013 15:59, Paul Sandoz wrote:
> Hi,
>
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8010096
>
> Webrev:
> http://cr.openjdk.java.net/~psandoz/lambda/spliterator/jdk-8010096/webrev/
>
> Spec diff:
> http://cr.openjdk.java.net/~psandoz/lambda/spliterator/jdk-8010096/specdiff/overview-summary.html
>
> Relevant JavaDoc generated from lambda repo (required for viewing @apiNote, @implSpec, @implNote declarations):
> http://cr.openjdk.java.net/~psandoz/lambda/spliterator/jdk-8010096/api/java/
>
> Note: some of the JavaDoc generated from the lambda repo may contain additional methods or specification that is relevant to the stream framework.
>
Just a few small comments from a quick pass over the webrev.

The @return for the Array.spliterator methods reads "A spliterator from 
an array", maybe this should be "the array".

For Iterable.forEach (and the Spliterator methods that take a Consumer) 
then you might consider "Errors or runtime exceptions" rather than 
"Exceptions" so that it is clear that an Error thrown by the action's 
accept method will be propagated too.

The class description for the PrimitiveIterator.OfXXX classes is the 
one-liner "Specialization for XXX elements". It might be nicer to have 
this as "A Spliterator specialized for XXX elements".

Will you change the Tripwire utility class to use the platform logger 
before you push this?

Another thing on Tripwire is that the property lookup will probably fail 
if the class is initalized with application code on the stack and there 
is a security manager set. I think this will need to be changed to get 
the property value in a privileged blocked.

The copyright header on the tests is normally the GPL header (no 
"Classpath" exception). I assume you'll fix this before pushing.

One question on the spliteratorDataProvider - what is the issue with 
IdentityHashMap or do we know yet?

-Alan.



More information about the lambda-dev mailing list