This page shows an example of how to create and locally install a simple content handler in the HotJavaTM Browser.
Content handlers are Java programs that the HotJava Browser loads when it needs to display files of a particular MIME type/subtype combination within the browser. Some examples of MIME type/subtype combinations are text/plain, text/richtext, image/gif, and so on. (You can download the official list of MIME types.)
For example, suppose your company (whose main Internet domain name is "foo.COM") wants to install a content handler to insert a message at the top of all content of MIME type text/plain. To set this up, follow these steps.
Create the directory structure where your content handler will live, such as: classes/COM/foo/content/text.By convention (but not a requirement), the directory structure starts with a directory named classes. The next four directories, COM/foo/content/text, are used to create a package called COM.foo.content.text. The convention is to prefix packages produced by company fred.flintstone.COM with COM.flintstone.fred, so two different vendors creating the same class are unlikely to have name collisions.
The final directory must have the same name as the MIME type of data. In this example, this is text. In the next step, you'll create a Java source file named after the MIME subtype of the data (plain).
In the text directory, create a file named plain.java with these contents.This file defines a class named plain that is a subclass of ContentHandler (a class in the java.net package). A HotJava Browser content handler must be a subclass of ContentHandler. The name of each ContentHandler subclass must match the name of the MIME subtype it handles (in this case, plain).
Compile the content handler using the Java compiler:
javac plain.javaIf compilation succeeds, the compiler creates a file named plain.class. If compilation fails, make sure you typed in and named the program exactly as shown.
In the HotJava Browser properties file, set the property java.content.handler.pkgs to include the prefix of your new content package, COM.foo.content. This property is a vertical bar (|) separated list of package prefixes that defines a search path for content handlers. A package prefix in this list should not include the main MIME type (such as "text") as part of its definition.See Customizing the HotJava Browser for information about where to find the properties files for your platform. If you're installing a content handler for all the HotJava Browser users in your environment, update the system properties file. Otherwise add the java.content.handler.pkgs property to your personal properties file.
For this example, you would add the following line to your HotJava Browser properties file:
java.content.handler.pkgs=COM.foo.contentIf you have other content handlers defined, use a vertical bar (|) separated list as the value of the property. For example:
java.content.handler.pkgs=COM.foo.content|other.content
Set your CLASSPATH environment variable to include the classes directory, so that HotJava can find your new content handler.On UNIX systems, the method of setting environment variables depends on your shell. For C shell, you can enter something like the following at the shell prompt, or put it in your .cshrc file:
setenv CLASSPATH .:/home/developer/classesOn Windows sytems, enter something like the following in a DOS shell, the Windows NT Control Panel, or your AUTOEXEC.BAT file:
set CLASSPATH=.;C:\developer\classes
This is the default setting for how to handle the Plain Text Content Type. If you've changed this to tell HotJava to launch an external application to view Plain Text, HotJava will use that application instead of your new content handler.If you don't have a Content Type called Plain Text (e.g. if it's been deleted or overridden), look for a Content Type with the MIME type/subtype setting of Text/plain. If you don't have one, create one. The Action for this Content Type should be View in HotJava.
Even if the HotJava Browser is already running, you need to restart it so that it can read the new values of the java.content.handler.pkgs property and CLASSPATH environment variable.
The content handler is automatically loaded the first time you visit a plain text document.Load the content handler by viewing a plain text document, such as this one. You should see the following text followed by the contents of the file in the HotJava Browser:
[Content of ...] [This opening message brought to you by your plain text content handler. To remove this content handler, delete the COM.foo.content.text directory from your class path and the java.content.handler.pkgs property from your HotJava properties file.] ----------------------------------------------------------------
Back to HotJava User's Guide Table of Contents