Hi Peter,
On 3/10/2015 12:47 PM, Peter Levart wrote:
On 03/10/2015 02:55 PM, Roger Riggs wrote:
ProcessHandle is designed to not to have an external implementations
(the constructor is package private).
I don't see a purpose in this. You can still subclass it freely,
because you can subclass Process which is-a ProcessHandle. I think it
can be an interface (see previous post).
Creating subclasses for the purposes of Process is not an issue, but
together
with maintaining source compatibility and avoiding UOEs to the unsuspecting
holder of a ProcessHandle it seemed prudent to keep the exposure to a
minimum.
(The JEP was not scoped that broadly).
For the same reason Process is designed to support custom/external
implementations (for platforms not directly supported by Oracle, for
example), there is a reason to support costom/external implementations
of ProcessHandle. But we should not stop at what we have now. Instead
of static factory methods creating just internal implementations, we
could add a Process[Handle]Spi locatable via ServiceLoader to fully
support external implementations for the whole API (static methods
too). This can be added later if it is too much work for JDK9.
Can you point me to the alternative Process implementations outside the
JDK?
I've seen a bit of flak about it not being the right API and if its not
right
we should not extend it.
Roger
What do you think?
Regards, Peter