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 ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.