The URLStreamHandlerFactory Interface
The last section showed you how to
install new protocol handlers that you wrote into HotJava, an
application that someone else wrote. However, if you write your own
application, you can implement your own scheme for finding and load
ing protocol handlers. The easiest way to do this is to install a
URLStream HandlerFactory in your application:
public abstract interface URLStreamHandlerFactory
Note
Only applications are allowed to install a new URL StreamHandlerFactory. Applets that run in the applet viewer
or a web browser must use the
URLStreamHandlerFactory that is provided. An
attempt to set a different one will fail, either because another
factory is already installed or because of a Security Exception.
The URLStreamHandlerFactory interface declares a
single method, createURLStreamHandler( ):
public abstract URLStreamHandler createURLStreamHandler(String protocol)
This method loads the appropriate protocol handler for the specified
protocol. To use this method, write a class that implements the
URLStreamHandlerFactory interface and include a
createURLStreamHandler( ) method in that class.
This method needs to know how to find the protocol handler for a
given protocol. This is no more complicated than knowing the names
and packages of the custom protocols you’ve implemented.
The createURLStreamHandler( ) method does not need to know the names of all the installed protocol handlers. If it doesn’t recognize a protocol, then it should simply return ...