Re: Optional.isEmpty()

2017-04-24 Thread Sander Mak

> On 22 Apr 2017, at 11:40, Peter Levart  wrote:
>return cf.findModule(target).isEmpty();
> 
> What do you think? Would this pull its weight?

If I had a nickel for each time I started typing .isEm.., I'd have a 
respectable nickel collection. Big +1 from me.


Sander



ProcessHandle::onExit behavior

2017-03-06 Thread Sander Mak
I was trying to get an example to work with the new ProcessHandle API. My goal 
was to wait on another process (Spotify) to terminate before printing something 
to the console:

ProcessHandle handle =
ProcessHandle.allProcesses()
  .filter(h -> h.info().commandLine().map(cmd -> 
cmd.contains("Spotify")).orElse(false))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("No matching handle 
found"));

System.out.println(handle.info());

ProcessHandle completed = handle.onExit().get();
System.out.println(completed.isAlive());

However this code doesn't wait on `handle` to be terminated, as the JavaDoc of 
onExit led me to believe: "Calling onExit().get() waits for the process to 
terminate and returns the ProcessHandle.". What I expected: the get() call 
blocks until I terminate the Spotify process. Instead, it runs to completion 
and prints true for the `isAlive` call in the end.  Am I missing something?

Env: Java(TM) SE Runtime Environment (build 
9-ea+157-jigsaw-nightly-h6122-20170221) on MacOS.

Also, first time posting to this list, I hope this is the right avenue for 
these questions.


Sander