On 15/04/15 15:16, Paul Sandoz wrote:
On Apr 15, 2015, at 1:36 PM, Chris Hegarty <chris.hega...@oracle.com> wrote:
Paul,
Yes, one could use a Pattern.splitAsStream, sorry could not resist :-) assuming
this area is not sensitive to bootstrap issues e.g.
hander =
p.splitAsStream().map(String::trim).flatMap(this::getHandler).findFirst().orElse(null);
With the restriction we now have on overriding "core" protocol handlers we can
actually use lambda's in this specific code path. I built a webrev based on your
suggestion. Not too bad. I marginally favor this over webrev.01 above.
http://cr.openjdk.java.net/~chegar/8075139/webrev.02/src/java.base/share/classes/java/net/URL.java.sdiff.html
Looks ok.
I marginally prefer using flatMap rather than map/filter e.g. change getHandler to return
Stream< URLStreamHandler> and change the last line to be "return
Stream.ofNullable(handle). Up to you.
That's better. For completeness, the updated webrev:
http://cr.openjdk.java.net/~chegar/8075139/webrev.03/
-Chris.
If you stick with what you have perhaps consider changing "h -> h != null" to
"Objects::nonNull".
Paul.