On 13/10/2016 17:23, Thomas Watson wrote:
:
Thanks for the pointer Alan. I'll have a look. Is there any
additional documentation on this besides the javadoc? At first glance
it is unclear to me what discovers the providers? Is the the URL
class itself based on the thread context class loader? How do
providers interact with the statically set factory. I also don't see
a provider SPI type for java.net.ContentHandlerFactory.
The javadoc for the 4-arg URL constructor has all the details on how it
interacts with the system-wide stream handler factory, also how the
system class loader is used to locate protocol handlers that are
intended to used system-wide (this includes the ability to override
non-core protocol handlers). I've no doubt that this won't be exactly
what you want but I hope you can see how URLStreamHandlerProvider is
used as the service type.
There are also updates to allow ContentHandlerFactory implementations be
deployed as modules. The details on that are in the javadoc for
URLConnection::getContent. This one did not need introducing a new
service type.
-Alan.