CompletableFuture.stopIf
federico.fissore at gmail.com
federico.fissore at gmail.com
Fri Sep 2 08:53:25 UTC 2016
Hi all
I hope this is the right place, since it's the first time I try to
humbly contribute to jdk development
Is there still time to add a method to CompletableFuture?
I would like to have a stopIf/interruptIf method that stops a chain of
CFs when the given predicate is true
Consider the following example:
fetchUser(id)
- changeEmail(user)
- notifyOtherSystems(user)
If fetchUser returns null (non existent ID), the following steps are non
sense. At the moment, you have to copy/paste a check for a null user in
both changeEmail and notifyOtherSystems steps.
What about:
fetchUser(id)
- stopIf((user) -> user == null)
- changeEmail(user)
- notifyOtherSystemsOfNewEmail(user)
stopIf exceptionally completes the CF with a CompletionException.
Please note that fetchUser cannot complete exceptionally on its own,
since it may be used elsewhere in the code base, where a null result has
different semantics
Best regards
Federico Fissore
More information about the jdk9-dev
mailing list