The ContentHandlerFactory Interface
A ContentHandlerFactory defines the rules for
where ContentHandler classes are stored. Create a
class that implements ContentHandlerFactory, and
give this class a createContentHandler( ) method
that knows how to instantiate your ContentHandler.
The createContentHandler( ) method should return
null if it can’t find a
ContentHandler appropriate for a MIME type;
null signals Java to look for
ContentHandler classes in the default locations.
When your application starts, call the
URLConnection’s
setContentHandlerFactory( ) method to set the
ContentHandlerFactory. This method may be called
only once in the lifetime of an application.
The createContentHandler( ) Method
Just as the
createURLStreamHandler( ) method of the
URLStreamHandlerFactory interface was responsible
for finding and loading the appropriate protocol handler, so too the
createContentHandler( ) method of the
ContentHandlerFactory interface is responsible for
finding and loading the appropriate ContentHandler
given a MIME type:
public abstract ContentHandler createContentHandler(String mimeType)
This method should be called only by the getContent( ) method of a URLConnection object. For
instance, Example 17.7 is a
ContentHandlerFactory that knows how to find the
right handler for the text/tab-separated-values content handler of
Example 17.1:
Example 17-7. TabFactory
package com.macfaq.net.www.content; import java.net.*; public class TabFactory implements ContentHandlerFactory { public ContentHandler ...