< prev index next >

src/java.desktop/share/classes/javax/print/DocFlavor.java

Print this page

        

@@ -28,451 +28,380 @@
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 
-
 /**
- * Class {@code DocFlavor} encapsulates an object that specifies the
- * format in which print data is supplied to a {@link DocPrintJob}.
- * "Doc" is a short, easy-to-pronounce term that means "a piece of print data."
- * The print data format, or "doc flavor", consists of two things:
- * <UL>
- * <LI>
- * <B>MIME type.</B> This is a Multipurpose Internet Mail Extensions (MIME)
- * media type (as defined in <A HREF="http://www.ietf.org/rfc/rfc2045.txt">RFC
- * 2045</A> and <A HREF="http://www.ietf.org/rfc/rfc2046.txt">RFC 2046</A>)
- * that specifies how the print data is to be interpreted.
- * The charset of text data should be the IANA MIME-preferred name, or its
- * canonical name if no preferred name is specified. Additionally a few
- * historical names supported by earlier versions of the Java platform may
- * be recognized.
- * See <a href="../../java/lang/package-summary.html#charenc">
- * character encodings</a> for more information on the character encodings
- * supported on the Java platform.
- *
- * <LI>
- * <B>Representation class name.</B> This specifies the fully-qualified name of
- * the class of the object from which the actual print data comes, as returned
- * by the {@link java.lang.Class#getName() Class.getName()} method.
- * (Thus the class name for {@code byte[]} is {@code "[B"}, for
- * {@code char[]} it is {@code "[C"}.)
- * </UL>
- * <P>
+ * Class {@code DocFlavor} encapsulates an object that specifies the format in
+ * which print data is supplied to a {@link DocPrintJob}. "Doc" is a short,
+ * easy-to-pronounce term that means "a piece of print data." The print data
+ * format, or "doc flavor", consists of two things:
+ * <ul>
+ *   <li><b>MIME type.</b> This is a Multipurpose Internet Mail Extensions
+ *   (MIME) media type (as defined in
+ *   <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</a> and
+ *   <a href="http://www.ietf.org/rfc/rfc2046.txt">RFC 2046</a>) that specifies
+ *   how the print data is to be interpreted. The charset of text data should be
+ *   the IANA MIME-preferred name, or its canonical name if no preferred name is
+ *   specified. Additionally a few historical names supported by earlier
+ *   versions of the Java platform may be recognized. See
+ *   <a href="../../java/lang/package-summary.html#charenc">character encodings
+ *   </a> for more information on the character encodings supported on the Java
+ *   platform.
+ *   <li><b>Representation class name.</b> This specifies the fully-qualified
+ *   name of the class of the object from which the actual print data comes, as
+ *   returned by the {@link Class#getName() Class.getName()} method. (Thus the
+ *   class name for {@code byte[]} is {@code "[B"}, for {@code char[]} it is
+ *   {@code "[C"}.)
+ * </ul>
  * A {@code DocPrintJob} obtains its print data by means of interface
- * {@link Doc Doc}. A {@code Doc} object lets the {@code DocPrintJob}
- * determine the doc flavor the client can supply.  A {@code Doc} object
- * also lets the {@code DocPrintJob} obtain an instance of the doc flavor's
- * representation class, from which the {@code DocPrintJob} then obtains
- * the actual print data.
- *
- * <HR>
- * <H3>Client Formatted Print Data</H3>
- * There are two broad categories of print data, client formatted print data
- * and service formatted print data.
- * <P>
- * For <B>client formatted print data</B>, the client determines or knows the
- * print data format.
- * For example the client may have a JPEG encoded image, a URL for
- * HTML code, or a disk file containing plain text in some encoding,
- * possibly obtained from an external source, and
- * requires a way to describe the data format to the print service.
+ * {@link Doc Doc}. A {@code Doc} object lets the {@code DocPrintJob} determine
+ * the doc flavor the client can supply. A {@code Doc} object also lets the
+ * {@code DocPrintJob} obtain an instance of the doc flavor's representation
+ * class, from which the {@code DocPrintJob} then obtains the actual print data.
+ *
+ * <hr>
+ * <h3>Client Formatted Print Data</h3>
+ * There are two broad categories of print data, client formatted print data and
+ * service formatted print data.
+ * <p>
+ * For <b>client formatted print data</b>, the client determines or knows the
+ * print data format. For example the client may have a JPEG encoded image, a
+ * {@code URL} for HTML code, or a disk file containing plain text in some
+ * encoding, possibly obtained from an external source, and requires a way to
+ * describe the data format to the print service.
  * <p>
  * The doc flavor's representation class is a conduit for the JPS
- * {@code DocPrintJob} to obtain a sequence of characters or
- * bytes from the client. The
- * doc flavor's MIME type is one of the standard media types telling how to
- * interpret the sequence of characters or bytes. For a list of standard media
- * types, see the Internet Assigned Numbers Authority's (IANA's) <A
- * HREF="http://www.iana.org/assignments/media-types/">Media Types
- * Directory</A>. Interface {@link Doc Doc} provides two utility operations,
+ * {@code DocPrintJob} to obtain a sequence of characters or bytes from the
+ * client. The doc flavor's MIME type is one of the standard media types telling
+ * how to interpret the sequence of characters or bytes. For a list of standard
+ * media types, see the Internet Assigned Numbers Authority's (IANA's)
+ * <a href="http://www.iana.org/assignments/media-types/">Media Types Directory
+ * </a>. Interface {@link Doc Doc} provides two utility operations,
  * {@link Doc#getReaderForText() getReaderForText} and
- * {@link Doc#getStreamForBytes() getStreamForBytes()}, to help a
- * {@code Doc} object's client extract client formatted print data.
- * <P>
+ * {@link Doc#getStreamForBytes() getStreamForBytes()}, to help a {@code Doc}
+ * object's client extract client formatted print data.
+ * <p>
  * For client formatted print data, the print data representation class is
  * typically one of the following (although other representation classes are
  * permitted):
- * <UL>
- * <LI>
- * Character array ({@code char[]}) -- The print data consists of the
+ * <ul>
+ *   <li>Character array ({@code char[]}) -- The print data consists of the
  * Unicode characters in the array.
- *
- * <LI>
- * {@code String}  --
- * The print data consists of the Unicode characters in the string.
- *
- * <LI>
- * Character stream ({@link java.io.Reader java.io.Reader})
- * -- The print data consists of the Unicode characters read from the stream
- * up to the end-of-stream.
- *
- * <LI>
- * Byte array ({@code byte[]}) -- The print data consists of the bytes in
+ *   <li>{@code String} -- The print data consists of the Unicode characters in
+ *   the string.
+ *   <li>Character stream ({@link java.io.Reader java.io.Reader}) -- The print
+ *   data consists of the Unicode characters read from the stream up to the
+ *   end-of-stream.
+ *   <li>Byte array ({@code byte[]}) -- The print data consists of the bytes in
  * the array. The bytes are encoded in the character set specified by the doc
  * flavor's MIME type. If the MIME type does not specify a character set, the
  * default character set is US-ASCII.
- *
- * <LI>
- * Byte stream ({@link java.io.InputStream java.io.InputStream}) --
- * The print data consists of the bytes read from the stream up to the
+ *   <li>Byte stream ({@link java.io.InputStream java.io.InputStream}) -- The
+ *   print data consists of the bytes read from the stream up to the
  * end-of-stream. The bytes are encoded in the character set specified by the
  * doc flavor's MIME type. If the MIME type does not specify a character set,
  * the default character set is US-ASCII.
-
- * <LI>
- * Uniform Resource Locator ({@link java.net.URL URL})
- * -- The print data consists of the bytes read from the URL location.
- * The bytes are encoded in the character set specified by the doc flavor's
- * MIME type. If the MIME type does not specify a character set, the default
- * character set is US-ASCII.
- * <P>
- * When the representation class is a URL, the print service itself accesses
- * and downloads the document directly from its URL address, without involving
- * the client. The service may be some form of network print service which
- * is executing in a different environment.
- * This means you should not use a URL print data flavor to print a
- * document at a restricted URL that the client can see but the printer cannot
- * see. This also means you should not use a URL print data flavor to print a
- * document stored in a local file that is not available at a URL
- * accessible independently of the client.
- * For example, a file that is not served up by an HTTP server or FTP server.
- * To print such documents, let the client open an input stream on the URL
- * or file and use an input stream data flavor.
- * </UL>
+ *   <li>Uniform Resource Locator ({@link java.net.URL URL}) -- The print data
+ *   consists of the bytes read from the URL location. The bytes are encoded in
+ *   the character set specified by the doc flavor's MIME type. If the MIME type
+ *   does not specify a character set, the default character set is US-ASCII.
+ *   When the representation class is a {@code URL}, the print service itself
+ *   accesses and downloads the document directly from its {@code URL} address,
+ *   without involving the client. The service may be some form of network print
+ *   service which is executing in a different environment. This means you
+ *   should not use a {@code URL} print data flavor to print a document at a
+ *   restricted {@code URL} that the client can see but the printer cannot see.
+ *   This also means you should not use a {@code URL} print data flavor to print
+ *   a document stored in a local file that is not available at a {@code URL}
+ *   accessible independently of the client. For example, a file that is not
+ *   served up by an HTTP server or FTP server. To print such documents, let the
+ *   client open an input stream on the {@code URL} or file and use an input
+ *   stream data flavor.
+ * </ul>
  *
- * <HR>
+ * <hr>
  * <h3>Default and Platform Encodings</h3>
- * <P>
  * For byte print data where the doc flavor's MIME type does not include a
  * {@code charset} parameter, the Java Print Service instance assumes the
  * US-ASCII character set by default. This is in accordance with
- * <A HREF="http://www.ietf.org/rfc/rfc2046.txt">RFC 2046</A>, which says the
- * default character set is US-ASCII. Note that US-ASCII is a subset of
- * UTF-8, so in the future this may be widened if a future RFC endorses
- * UTF-8 as the default in a compatible manner.
+ * <a href="http://www.ietf.org/rfc/rfc2046.txt">RFC 2046</a>, which says the
+ * default character set is US-ASCII. Note that US-ASCII is a subset of UTF-8,
+ * so in the future this may be widened if a future RFC endorses UTF-8 as the
+ * default in a compatible manner.
  * <p>
- * Also note that this is different than the behaviour of the Java runtime
- * when interpreting a stream of bytes as text data. That assumes the
- * default encoding for the user's locale. Thus, when spooling a file in local
- * encoding to a Java Print Service it is important to correctly specify
- * the encoding. Developers working in the English locales should
- * be particularly conscious of this, as their platform encoding corresponds
- * to the default mime charset. By this coincidence that particular
- * case may work without specifying the encoding of platform data.
+ * Also note that this is different than the behaviour of the Java runtime when
+ * interpreting a stream of bytes as text data. That assumes the default
+ * encoding for the user's locale. Thus, when spooling a file in local encoding
+ * to a Java Print Service it is important to correctly specify the encoding.
+ * Developers working in the English locales should be particularly conscious of
+ * this, as their platform encoding corresponds to the default mime charset. By
+ * this coincidence that particular case may work without specifying the
+ * encoding of platform data.
  * <p>
  * Every instance of the Java virtual machine has a default character encoding
  * determined during virtual-machine startup and typically depends upon the
- * locale and charset being used by the underlying operating system.
- * In a distributed environment there is no guarantee that two VM share
- * the same default encoding. Thus clients which want to stream platform
- * encoded text data from the host platform to a Java Print Service instance
- * must explicitly declare the charset and not rely on defaults.
+ * locale and charset being used by the underlying operating system. In a
+ * distributed environment there is no guarantee that two VM share the same
+ * default encoding. Thus clients which want to stream platform encoded text
+ * data from the host platform to a Java Print Service instance must explicitly
+ * declare the charset and not rely on defaults.
  * <p>
  * The preferred form is the official IANA primary name for an encoding.
- * Applications which stream text data should always specify the charset
- * in the mime type, which necessitates obtaining the encoding of the host
- * platform for data (eg files) stored in that platform's encoding.
- * A CharSet which corresponds to this and is suitable for use in a
- * mime-type for a DocFlavor can be obtained
- * from {@link DocFlavor#hostEncoding DocFlavor.hostEncoding}
- * This may not always be the primary IANA name but is guaranteed to be
- * understood by this VM.
- * For common flavors, the pre-defined *HOST DocFlavors may be used.
+ * Applications which stream text data should always specify the charset in the
+ * mime type, which necessitates obtaining the encoding of the host platform for
+ * data (eg files) stored in that platform's encoding. A {@code CharSet} which
+ * corresponds to this and is suitable for use in a mime-type for a
+ * {@code DocFlavor} can be obtained from
+ * {@link DocFlavor#hostEncoding DocFlavor.hostEncoding} This may not always be
+ * the primary IANA name but is guaranteed to be understood by this VM. For
+ * common flavors, the pre-defined *HOST {@code DocFlavors} may be used.
  * <p>
- * See <a href="../../java/lang/package-summary.html#charenc">
- * character encodings</a> for more information on the character encodings
- * supported on the Java platform.
- * <HR>
+ * See <a href="../../java/lang/package-summary.html#charenc">character
+ * encodings</a> for more information on the character encodings supported on
+ * the Java platform.
+ *
+ * <hr>
  * <h3>Recommended DocFlavors</h3>
- * <P>
  * The Java Print Service API does not define any mandatorily supported
- * DocFlavors.
- * However, here are some examples of MIME types that a Java Print Service
- * instance might support for client formatted print data.
- * Nested classes inside class DocFlavor declare predefined static
- * constant DocFlavor objects for these example doc flavors; class DocFlavor's
- * constructor can be used to create an arbitrary doc flavor.
- * <UL>
- * <LI>Preformatted text
+ * {@code DocFlavors}. However, here are some examples of MIME types that a Java
+ * Print Service instance might support for client formatted print data. Nested
+ * classes inside class {@code DocFlavor} declare predefined static constant
+ * {@code DocFlavor} objects for these example doc flavors; class
+ * {@code DocFlavor}'s constructor can be used to create an arbitrary doc
+ * flavor.
+ * <ul>
+ *   <li>Preformatted text
  * <table class="striped">
  * <caption>MIME-Types and their descriptions</caption>
  * <thead>
- * <TR>
- *  <TH>MIME-Type</TH><TH>Description</TH>
- * </TR>
+ *     <tr>
+ *       <th>MIME-Type
+ *       <th>Description
  * </thead>
  * <tbody>
- * <TR>
- * <TD>{@code "text/plain"}</TD>
- * <TD>Plain text in the default character set (US-ASCII)</TD>
- * </TR>
- * <TR>
- * <TD><code>"text/plain; charset=<I>xxx</I>"</code></TD>
- * <TD>Plain text in character set <I>xxx</I></TD>
- * </TR>
- * <TR>
- * <TD>{@code "text/html"}</TD>
- * <TD>HyperText Markup Language in the default character set (US-ASCII)</TD>
- * </TR>
- * <TR>
- * <TD><code>"text/html; charset=<I>xxx</I>"</code></TD>
- * <TD>HyperText Markup Language in character set <I>xxx</I></TD>
- * </TR>
+ *     <tr>
+ *       <td>{@code "text/plain"}
+ *       <td>Plain text in the default character set (US-ASCII)
+ *     <tr>
+ *       <td><code> "text/plain; charset=<i>xxx</i>"</code>
+ *       <td>Plain text in character set <i>xxx</i>
+ *     <tr>
+ *       <td>{@code "text/html"}
+ *       <td>HyperText Markup Language in the default character set (US-ASCII)
+ *     <tr>
+ *       <td><code> "text/html; charset=<i>xxx</i>"</code>
+ *       <td>HyperText Markup Language in character set <i>xxx</i>
  * </tbody>
- * </TABLE>
- * <P>
+ *   </table>
  * In general, preformatted text print data is provided either in a character
  * oriented representation class (character array, String, Reader) or in a
  * byte oriented representation class (byte array, InputStream, URL).
- *
- *  <LI>Preformatted page description language (PDL) documents
- *
+ *   <li>Preformatted page description language (PDL) documents
  * <table class="striped">
  * <caption>MIME-Types and their descriptions</caption>
  * <thead>
- * <TR>
- *  <TH>MIME-Type</TH><TH>Description</TH>
- * </TR>
+ *     <tr>
+ *       <th>MIME-Type
+ *       <th>Description
  * </thead>
  * <tbody>
- * <TR>
- * <TD>{@code "application/pdf"}</TD>
- * <TD>Portable Document Format document</TD>
- * </TR>
- * <TR>
- * <TD>{@code "application/postscript"}</TD>
- * <TD>PostScript document</TD>
- * </TR>
- * <TR>
- * <TD>{@code "application/vnd.hp-PCL"}</TD>
- * <TD>Printer Control Language document</TD>
- * </TR>
+ *     <tr>
+ *       <td>{@code "application/pdf"}
+ *       <td>Portable Document Format document
+ *     <tr>
+ *       <td>{@code "application/postscript"}
+ *       <td>PostScript document
+ *     <tr>
+ *       <td>{@code "application/vnd.hp-PCL"}
+ *       <td>Printer Control Language document
  * </tbody>
- * </TABLE>
- * <P>
+ *   </table>
  * In general, preformatted PDL print data is provided in a byte oriented
- * representation class (byte array, InputStream, URL).
- *
- *  <LI>Preformatted images
- *
+ *   representation class (byte array, {@code InputStream}, {@code URL}).
+ *   <li>Preformatted images
  * <table class="striped">
  * <caption>MIME-Types and their descriptions</caption>
  * <thead>
- * <TR>
- *  <TH>MIME-Type</TH><TH>Description</TH>
- * </TR>
+ *     <tr>
+ *       <th>MIME-Type
+ *       <th>Description
  * </thead>
  * <tbody>
- * <TR>
- * <TD>{@code "image/gif"}</TD>
- * <TD>Graphics Interchange Format image</TD>
- * </TR>
- * <TR>
- * <TD>{@code "image/jpeg"}</TD>
- * <TD>Joint Photographic Experts Group image</TD>
- * </TR>
- * <TR>
- * <TD>{@code "image/png"}</TD>
- * <TD>Portable Network Graphics image</TD>
- * </TR>
+ *     <tr>
+ *       <td>{@code "image/gif"}
+ *       <td>Graphics Interchange Format image
+ *     <tr>
+ *       <td>{@code "image/jpeg"}
+ *       <td>Joint Photographic Experts Group image
+ *     <tr>
+ *       <td>{@code "image/png"}
+ *       <td>Portable Network Graphics image
  * </tbody>
- * </TABLE>
- * <P>
+ *   </table>
  * In general, preformatted image print data is provided in a byte oriented
- * representation class (byte array, InputStream, URL).
- *
- *  <LI>Preformatted autosense print data
- *
+ *   representation class (byte array, {@code InputStream}, {@code URL}).
+ *   <li>Preformatted autosense print data
  * <table class="striped">
  * <caption>MIME-Types and their descriptions</caption>
  * <thead>
- * <TR>
- *  <TH>MIME-Type</TH><TH>Description</TH>
- * </TR>
+ *     <tr>
+ *       <th>MIME-Type
+ *       <th>Description
  * </thead>
  * <tbody>
- * <TR>
- * <TD>{@code "application/octet-stream"}</TD>
- * <TD>The print data format is unspecified (just an octet stream)</TD>
- * </TR>
+ *     <tr>
+ *       <td>{@code "application/octet-stream"}
+ *       <td>The print data format is unspecified (just an octet stream)
  * </tbody>
- * </TABLE>
- * <P>
+ *   </table>
  * The printer decides how to interpret the print data; the way this
  * "autosensing" works is implementation dependent. In general, preformatted
  * autosense print data is provided in a byte oriented representation class
- * (byte array, InputStream, URL).
- * </UL>
+ *   (byte array, {@code InputStream}, {@code URL}).
+ * </ul>
  *
- * <HR>
- * <H3>Service Formatted Print Data</H3>
- * <P>
- * For <B>service formatted print data</B>, the Java Print Service instance
+ * <hr>
+ * <h3>Service Formatted Print Data</h3>
+ * For <b>service formatted print data</b>, the Java Print Service instance
  * determines the print data format. The doc flavor's representation class
  * denotes an interface whose methods the {@code DocPrintJob} invokes to
- * determine the content to be printed -- such as a renderable image
- * interface or a Java printable interface.
- * The doc flavor's MIME type is the special value
- * {@code "application/x-java-jvm-local-objectref"} indicating the client
- * will supply a reference to a Java object that implements the interface
- * named as the representation class.
- * This MIME type is just a placeholder; what's
+ * determine the content to be printed -- such as a renderable image interface
+ * or a Java printable interface. The doc flavor's MIME type is the special
+ * value {@code "application/x-java-jvm-local-objectref"} indicating the client
+ * will supply a reference to a Java object that implements the interface named
+ * as the representation class. This MIME type is just a placeholder; what's
  * important is the print data representation class.
- * <P>
+ * <p>
  * For service formatted print data, the print data representation class is
  * typically one of the following (although other representation classes are
- * permitted). Nested classes inside class DocFlavor declare predefined static
- * constant DocFlavor objects for these example doc flavors; class DocFlavor's
- * constructor can be used to create an arbitrary doc flavor.
- * <UL>
- * <LI>
- * Renderable image object -- The client supplies an object that implements
- * interface
+ * permitted). Nested classes inside class {@code DocFlavor} declare predefined
+ * static constant {@code DocFlavor} objects for these example doc flavors;
+ * class {@code DocFlavor}'s constructor can be used to create an arbitrary doc
+ * flavor.
+ * <ul>
+ *   <li>Renderable image object -- The client supplies an object that
+ *   implements interface
  * {@link java.awt.image.renderable.RenderableImage RenderableImage}. The
- * printer calls methods
- * in that interface to obtain the image to be printed.
- *
- * <LI>
- * Printable object -- The client supplies an object that implements interface
- * {@link java.awt.print.Printable Printable}.
- * The printer calls methods in that interface to obtain the pages to be
- * printed, one by one.
+ *   printer calls methods in that interface to obtain the image to be printed.
+ *   <li>Printable object -- The client supplies an object that implements
+ *   interface {@link java.awt.print.Printable Printable}. The printer calls
+ *   methods in that interface to obtain the pages to be printed, one by one.
  * For each page, the printer supplies a graphics context, and whatever the
  * client draws in that graphics context gets printed.
- *
- * <LI>
- * Pageable object -- The client supplies an object that implements interface
- * {@link java.awt.print.Pageable Pageable}. The printer calls
+ *   <li>Pageable object -- The client supplies an object that implements
+ *   interface {@link java.awt.print.Pageable Pageable}. The printer calls
  * methods in that interface to obtain the pages to be printed, one by one.
- * For each page, the printer supplies a graphics context, and whatever
- * the client draws in that graphics context gets printed.
- * </UL>
- *
- * <HR>
- *
- * <HR>
- * <H3>Pre-defined Doc Flavors</H3>
- * A Java Print Service instance is not <B><I>required</I></B> to support the
- * following print data formats and print data representation classes.  In
- * fact, a developer using this class should <b>never</b> assume that a
- * particular print service supports the document types corresponding to
- * these pre-defined doc flavors.  Always query the print service
- * to determine what doc flavors it supports.  However,
- * developers who have print services that support these doc flavors are
- * encouraged to refer to the predefined singleton instances created here.
- * <UL>
- * <LI>
- * Plain text print data provided through a byte stream. Specifically, the
+ *   For each page, the printer supplies a graphics context, and whatever the
+ *   client draws in that graphics context gets printed.
+ * </ul>
+ *
+ * <hr>
+ * <h3>Pre-defined Doc Flavors</h3>
+ * A Java Print Service instance is not <b><i>required</i></b> to support the
+ * following print data formats and print data representation classes. In fact,
+ * a developer using this class should <b>never</b> assume that a particular
+ * print service supports the document types corresponding to these pre-defined
+ * doc flavors. Always query the print service to determine what doc flavors it
+ * supports. However, developers who have print services that support these doc
+ * flavors are encouraged to refer to the predefined singleton instances created
+ * here.
+ * <ul>
+ *   <li>Plain text print data provided through a byte stream. Specifically, the
  * following doc flavors are recommended to be supported:
- * <BR>·&nbsp;&nbsp;
+ *   <br>·&nbsp;&nbsp;
  * {@code ("text/plain", "java.io.InputStream")}
- * <BR>·&nbsp;&nbsp;
+ *   <br>·&nbsp;&nbsp;
  * {@code ("text/plain; charset=us-ascii", "java.io.InputStream")}
- * <BR>·&nbsp;&nbsp;
+ *   <br>·&nbsp;&nbsp;
  * {@code ("text/plain; charset=utf-8", "java.io.InputStream")}
- *
- * <LI>
- * Renderable image objects. Specifically, the following doc flavor is
+ *   <li>Renderable image objects. Specifically, the following doc flavor is
  * recommended to be supported:
- * <BR>·&nbsp;&nbsp;
+ *   <br>·&nbsp;&nbsp;
  * {@code ("application/x-java-jvm-local-objectref", "java.awt.image.renderable.RenderableImage")}
- * </UL>
- * <P>
- * A Java Print Service instance is allowed to support any other doc flavors
- * (or none) in addition to the above mandatory ones, at the implementation's
+ * </ul>
+ * A Java Print Service instance is allowed to support any other doc flavors (or
+ * none) in addition to the above mandatory ones, at the implementation's
  * choice.
- * <P>
+ * <p>
  * Support for the above doc flavors is desirable so a printing client can rely
  * on being able to print on any JPS printer, regardless of which doc flavors
  * the printer supports. If the printer doesn't support the client's preferred
  * doc flavor, the client can at least print plain text, or the client can
  * convert its data to a renderable image and print the image.
- * <P>
+ * <p>
  * Furthermore, every Java Print Service instance must fulfill these
  * requirements for processing plain text print data:
- * <UL>
- * <LI>
- * The character pair carriage return-line feed (CR-LF) means
- * "go to column 1 of the next line."
- * <LI>
- * A carriage return (CR) character standing by itself means
- * "go to column 1 of the next line."
- * <LI>
- * A line feed (LF) character standing by itself means
- * "go to column 1 of the next line."
- * </UL>
- * <P>
+ * <ul>
+ *   <li>The character pair carriage return-line feed (CR-LF) means "go to
+ *   column 1 of the next line."
+ *   <li>A carriage return (CR) character standing by itself means "go to column
+ *   1 of the next line."
+ *   <li>A line feed (LF) character standing by itself means "go to column 1 of
+ *   the next line."
+ * </ul>
  * The client must itself perform all plain text print data formatting not
  * addressed by the above requirements.
  *
- * <H3>Design Rationale</H3>
- * <P>
- * Class DocFlavor in package javax.print.data is similar to class
- * {@link java.awt.datatransfer.DataFlavor DataFlavor}. Class
- * {@code DataFlavor}
- * is not used in the Java Print Service (JPS) API
- * for three reasons which are all rooted in allowing the JPS API to be
- * shared by other print services APIs which may need to run on Java profiles
- * which do not include all of the Java Platform, Standard Edition.
- * <OL TYPE=1>
- * <LI>
- * The JPS API is designed to be used in Java profiles which do not support
- * AWT.
- *
- * <LI>
- * The implementation of class {@code java.awt.datatransfer.DataFlavor}
+ * <h3>Design Rationale</h3>
+ * Class {@code DocFlavor} in package {@code javax.print} is similar to class
+ * {@link java.awt.datatransfer.DataFlavor}. Class {@code DataFlavor} is not
+ * used in the Java Print Service (JPS) API for three reasons which are all
+ * rooted in allowing the JPS API to be shared by other print services APIs
+ * which may need to run on Java profiles which do not include all of the Java
+ * Platform, Standard Edition.
+ * <ol type=1>
+ *   <li>The JPS API is designed to be used in Java profiles which do not
+ *   support AWT.
+ *   <li>The implementation of class {@code java.awt.datatransfer.DataFlavor}
  * does not guarantee that equivalent data flavors will have the same
- * serialized representation. DocFlavor does, and can be used in services
- * which need this.
- *
- * <LI>
- * The implementation of class {@code java.awt.datatransfer.DataFlavor}
+ *   serialized representation. {@code DocFlavor} does, and can be used in
+ *   services which need this.
+ *   <li>The implementation of class {@code java.awt.datatransfer.DataFlavor}
  * includes a human presentable name as part of the serialized representation.
  * This is not appropriate as part of a service matching constraint.
- * </OL>
- * <P>
- * Class DocFlavor's serialized representation uses the following
+ * </ol>
+ * Class {@code DocFlavor}'s serialized representation uses the following
  * canonical form of a MIME type string. Thus, two doc flavors with MIME types
- * that are not identical but that are equivalent (that have the same
- * canonical form) may be considered equal.
- * <UL>
- * <LI> The media type, media subtype, and parameters are retained, but all
+ * that are not identical but that are equivalent (that have the same canonical
+ * form) may be considered equal.
+ * <ul>
+ *   <li>The media type, media subtype, and parameters are retained, but all
  *      comments and whitespace characters are discarded.
- * <LI> The media type, media subtype, and parameter names are converted to
+ *   <li>The media type, media subtype, and parameter names are converted to
  *      lowercase.
- * <LI> The parameter values retain their original case, except a charset
+ *   <li>The parameter values retain their original case, except a charset
  *      parameter value for a text media type is converted to lowercase.
- * <LI> Quote characters surrounding parameter values are removed.
- * <LI> Quoting backslash characters inside parameter values are removed.
- * <LI> The parameters are arranged in ascending order of parameter name.
- * </UL>
- * <P>
- * Class DocFlavor's serialized representation also contains the
- * fully-qualified class <I>name</I> of the representation class
- * (a String object), rather than the representation class itself
- * (a Class object). This allows a client to examine the doc flavors a
- * Java Print Service instance supports without having
- * to load the representation classes, which may be problematic for
- * limited-resource clients.
+ *   <li>Quote characters surrounding parameter values are removed.
+ *   <li>Quoting backslash characters inside parameter values are removed.
+ *   <li>The parameters are arranged in ascending order of parameter name.
+ * </ul>
+ * Class {@code DocFlavor}'s serialized representation also contains the
+ * fully-qualified class <i>name</i> of the representation class (a
+ * {@code String} object), rather than the representation class itself (a
+ * {@code Class} object). This allows a client to examine the doc flavors a Java
+ * Print Service instance supports without having to load the representation
+ * classes, which may be problematic for limited-resource clients.
  *
  * @author  Alan Kaminsky
  */
 public class DocFlavor implements Serializable, Cloneable {
 
+    /**
+     * Use serialVersionUID from JDK 1.4 for interoperability.
+     */
     private static final long serialVersionUID = -4512080796965449721L;
 
     /**
-     * A String representing the host operating system encoding.
-     * This will follow the conventions documented in
+     * A string representing the host operating system encoding. This will
+     * follow the conventions documented in
      * <a href="http://www.ietf.org/rfc/rfc2278.txt">
      * <i>RFC&nbsp;2278:&nbsp;IANA Charset Registration Procedures</i></a>
      * except where historical names are returned for compatibility with
-     * previous versions of the Java platform.
-     * The value returned from method is valid only for the VM which
-     * returns it, for use in a DocFlavor.
-     * This is the charset for all the "HOST" pre-defined DocFlavors in
+     * previous versions of the Java platform. The value returned from method is
+     * valid only for the VM which returns it, for use in a {@code DocFlavor}.
+     * This is the charset for all the "HOST" pre-defined {@code DocFlavors} in
      * the executing VM.
      */
     public static final String hostEncoding;
 
     static {

@@ -486,102 +415,101 @@
      */
     private transient MimeType myMimeType;
 
     /**
      * Representation class name.
+     *
      * @serial
      */
     private String myClassName;
 
     /**
      * String value for this doc flavor. Computed when needed and cached.
      */
     private transient String myStringValue = null;
 
-
     /**
      * Constructs a new doc flavor object from the given MIME type and
      * representation class name. The given MIME type is converted into
      * canonical form and stored internally.
      *
-     * @param  mimeType   MIME media type string.
-     * @param  className  Fully-qualified representation class name.
-     *
-     * @exception  NullPointerException
-     *     (unchecked exception) Thrown if {@code mimeType} is null or
-     *     {@code className} is null.
-     * @exception  IllegalArgumentException
-     *     (unchecked exception) Thrown if {@code mimeType} does not
-     *     obey the syntax for a MIME media type string.
+     * @param  mimeType MIME media type string
+     * @param  className fully-qualified representation class name
+     * @throws NullPointerException if {@code mimeType} or {@code className} are
+     *         {@code null}
+     * @throws IllegalArgumentException if {@code mimeType} does not obey the
+     *         syntax for a MIME media type string
      */
     public DocFlavor(String mimeType, String className) {
         if (className == null) {
             throw new NullPointerException();
         }
         myMimeType = new MimeType (mimeType);
         myClassName = className;
     }
 
     /**
-     * Returns this doc flavor object's MIME type string based on the
-     * canonical form. Each parameter value is enclosed in quotes.
+     * Returns this doc flavor object's MIME type string based on the canonical
+     * form. Each parameter value is enclosed in quotes.
+     *
      * @return the mime type
      */
     public String getMimeType() {
         return myMimeType.getMimeType();
     }
 
     /**
      * Returns this doc flavor object's media type (from the MIME type).
+     *
      * @return the media type
      */
     public String getMediaType() {
         return myMimeType.getMediaType();
     }
 
     /**
      * Returns this doc flavor object's media subtype (from the MIME type).
+     *
      * @return the media sub-type
      */
     public String getMediaSubtype() {
         return myMimeType.getMediaSubtype();
     }
 
     /**
-     * Returns a {@code String} representing a MIME
-     * parameter.
-     * Mime types may include parameters which are usually optional.
-     * The charset for text types is a commonly useful example.
-     * This convenience method will return the value of the specified
-     * parameter if one was specified in the mime type for this flavor.
+     * Returns a {@code String} representing a MIME parameter. Mime types may
+     * include parameters which are usually optional. The charset for text types
+     * is a commonly useful example. This convenience method will return the
+     * value of the specified parameter if one was specified in the mime type
+     * for this flavor.
      *
-     * @param paramName the name of the paramater. This name is internally
+     * @param  paramName the name of the parameter. This name is internally
      * converted to the canonical lower case format before performing
      * the match.
-     * @return String representing a mime parameter, or
-     * null if that parameter is not in the mime type string.
-     * @exception NullPointerException if paramName is null.
+     * @return the string representing a mime parameter, or {@code null} if that
+     *         parameter is not in the mime type string
+     * @throws NullPointerException if paramName is {@code null}
      */
     public String getParameter(String paramName) {
         return myMimeType.getParameterMap().get(paramName.toLowerCase());
     }
 
     /**
      * Returns the name of this doc flavor object's representation class.
-     * @return the name of the representation class.
+     *
+     * @return the name of the representation class
      */
     public String getRepresentationClassName() {
         return myClassName;
     }
 
     /**
      * Converts this {@code DocFlavor} to a string.
      *
      * @return  MIME type string based on the canonical form. Each parameter
-     *          value is enclosed in quotes.
-     *          A "class=" parameter is appended to the
-     *          MIME type string to indicate the representation class name.
+     *         value is enclosed in quotes. A "class=" parameter is appended to
+     *         the MIME type string to indicate the representation class name.
      */
     public String toString() {
         return getStringValue();
     }
 

@@ -591,36 +519,37 @@
     public int hashCode() {
         return getStringValue().hashCode();
     }
 
     /**
-     * Determines if this doc flavor object is equal to the given object.
-     * The two are equal if the given object is not null, is an instance
-     * of {@code DocFlavor}, has a MIME type equivalent to this doc
-     * flavor object's MIME type (that is, the MIME types have the same media
-     * type, media subtype, and parameters), and has the same representation
-     * class name as this doc flavor object. Thus, if two doc flavor objects'
-     * MIME types are the same except for comments, they are considered equal.
-     * However, two doc flavor objects with MIME types of "text/plain" and
-     * "text/plain; charset=US-ASCII" are not considered equal, even though
-     * they represent the same media type (because the default character
-     * set for plain text is US-ASCII).
-     *
-     * @param  obj  Object to test.
-     *
-     * @return  True if this doc flavor object equals {@code obj}, false
-     *          otherwise.
+     * Determines if this doc flavor object is equal to the given object. The
+     * two are equal if the given object is not {@code null}, is an instance of
+     * {@code DocFlavor}, has a MIME type equivalent to this doc flavor object's
+     * MIME type (that is, the MIME types have the same media type, media
+     * subtype, and parameters), and has the same representation class name as
+     * this doc flavor object. Thus, if two doc flavor objects' MIME types are
+     * the same except for comments, they are considered equal. However, two doc
+     * flavor objects with MIME types of "text/plain" and "text/plain;
+     * charset=US-ASCII" are not considered equal, even though they represent
+     * the same media type (because the default character set for plain text is
+     * US-ASCII).
+     *
+     * @param  obj {@code Object} to test
+     * @return {@code true} if this doc flavor object equals {@code obj},
+     *         {@code false} otherwise
      */
     public boolean equals(Object obj) {
         return
             obj != null &&
             obj instanceof DocFlavor &&
             getStringValue().equals (((DocFlavor) obj).getStringValue());
     }
 
     /**
      * Returns this doc flavor object's string value.
+     *
+     * @return the string value
      */
     private String getStringValue() {
         if (myStringValue == null) {
             myStringValue = myMimeType + "; class=\"" + myClassName + "\"";
         }

@@ -628,10 +557,11 @@
     }
 
     /**
      * Write the instance to a stream (ie serialize the object).
      *
+     * @param  s the output stream
      * @throws IOException if I/O errors occur while writing to the underlying
      * stream
      */
     private void writeObject(ObjectOutputStream s) throws IOException {
 

@@ -640,188 +570,162 @@
     }
 
     /**
      * Reconstitute an instance from a stream (that is, deserialize it).
      *
+     * @param  s the input stream
      * @throws ClassNotFoundException if the class of a serialized object could
-     * not be found.
+     *         not be found
      * @throws IOException if I/O errors occur while reading from the underlying
      * stream
-     * @serialData
-     * The serialised form of a DocFlavor is the String naming the
-     * representation class followed by the String representing the canonical
-     * form of the mime type.
+     * @serialData The serialised form of a {@code DocFlavor} is the
+     *             {@code String} naming the representation class followed by
+     *             the {@code String} representing the canonical form of the
+     *             mime type
      */
     private void readObject(ObjectInputStream s)
         throws ClassNotFoundException, IOException {
 
         s.defaultReadObject();
         myMimeType = new MimeType((String)s.readObject());
     }
 
     /**
-     * Class DocFlavor.BYTE_ARRAY provides predefined static constant
-     * DocFlavor objects for example doc flavors using a byte array
+     * Class {@code DocFlavor.BYTE_ARRAY} provides predefined static constant
+     * {@code DocFlavor} objects for example doc flavors using a byte array
      * ({@code byte[]}) as the print data representation class.
      *
      * @author  Alan Kaminsky
      */
     public static class BYTE_ARRAY extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = -9065578006593857475L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of {@code "[B"} (byte array).
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "[B"} (byte array).
          *
-         * @param  mimeType   MIME media type string.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * @param  mimeType MIME media type string
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string
          */
         public BYTE_ARRAY (String mimeType) {
             super (mimeType, "[B");
         }
 
         /**
-         * Doc flavor with MIME type = {@code "text/plain"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "[B"} (byte array).
+         * Doc flavor with MIME type = {@code "text/plain"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_HOST =
             new BYTE_ARRAY ("text/plain; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-8"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-8"},
+         * print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_UTF_8 =
             new BYTE_ARRAY ("text/plain; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
+         * print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_UTF_16 =
             new BYTE_ARRAY ("text/plain; charset=utf-16");
 
-
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
+         * {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_UTF_16BE =
             new BYTE_ARRAY ("text/plain; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
+         * {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_UTF_16LE =
             new BYTE_ARRAY ("text/plain; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "[B"} (byte array).
+         * Doc flavor with MIME type = {@code "text/plain; charset=us-ascii"},
+         * print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_PLAIN_US_ASCII =
             new BYTE_ARRAY ("text/plain; charset=us-ascii");
 
 
         /**
-         * Doc flavor with MIME type = {@code "text/html"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "[B"} (byte array).
+         * Doc flavor with MIME type = {@code "text/html"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_HOST =
             new BYTE_ARRAY ("text/html; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-8"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-8"}, print
+         * data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_UTF_8 =
             new BYTE_ARRAY ("text/html; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
+         * print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_UTF_16 =
             new BYTE_ARRAY ("text/html; charset=utf-16");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
+         * {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_UTF_16BE =
             new BYTE_ARRAY ("text/html; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
+         * {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_UTF_16LE =
             new BYTE_ARRAY ("text/html; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "[B"} (byte array).
+         * Doc flavor with MIME type = {@code "text/html; charset=us-ascii"},
+         * print data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY TEXT_HTML_US_ASCII =
             new BYTE_ARRAY ("text/html; charset=us-ascii");
 
 
         /**
-         * Doc flavor with MIME type = {@code "application/pdf"}, print
-         * data representation class name = {@code "[B"} (byte array).
+         * Doc flavor with MIME type = {@code "application/pdf"}, print data
+         * representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY PDF = new BYTE_ARRAY ("application/pdf");
 
         /**
-         * Doc flavor with MIME type = {@code "application/postscript"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "application/postscript"}, print
+         * data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY POSTSCRIPT =
             new BYTE_ARRAY ("application/postscript");
 
         /**
-         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"},
-         * print data representation class name = {@code "[B"} (byte
-         * array).
+         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"}, print
+         * data representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY PCL =
             new BYTE_ARRAY ("application/vnd.hp-PCL");
 
         /**

@@ -841,380 +745,341 @@
          * representation class name = {@code "[B"} (byte array).
          */
         public static final BYTE_ARRAY PNG = new BYTE_ARRAY ("image/png");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "application/octet-stream"},
-         * print data representation class name = {@code "[B"} (byte
-         * array). The client must determine that data described
-         * using this DocFlavor is valid for the printer.
+         * Doc flavor with MIME type = {@code "application/octet-stream"}, print
+         * data representation class name = {@code "[B"} (byte array). The
+         * client must determine that data described using this
+         * {@code DocFlavor} is valid for the printer.
          */
         public static final BYTE_ARRAY AUTOSENSE =
             new BYTE_ARRAY ("application/octet-stream");
-
     }
 
     /**
-     * Class DocFlavor.INPUT_STREAM provides predefined static constant
-     * DocFlavor objects for example doc flavors using a byte stream ({@link
-     * java.io.InputStream java.io.InputStream}) as the print
-     * data representation class.
+     * Class {@code DocFlavor.INPUT_STREAM} provides predefined static constant
+     * {@code DocFlavor} objects for example doc flavors using a byte stream
+     * ({@link java.io.InputStream java.io.InputStream}) as the print data
+     * representation class.
      *
      * @author  Alan Kaminsky
      */
     public static class INPUT_STREAM extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = -7045842700749194127L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of
-         * {@code "java.io.InputStream"} (byte stream).
-         *
-         * @param  mimeType   MIME media type string.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "java.io.InputStream"} (byte
+         * stream).
+         *
+         * @param  mimeType MIME media type string
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string.
          */
         public INPUT_STREAM (String mimeType) {
             super (mimeType, "java.io.InputStream");
         }
 
         /**
-         * Doc flavor with MIME type = {@code "text/plain"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_HOST =
             new INPUT_STREAM ("text/plain; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-8"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-8"},
+         * print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_UTF_8 =
             new INPUT_STREAM ("text/plain; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
+         * print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_UTF_16 =
             new INPUT_STREAM ("text/plain; charset=utf-16");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
          * {@code "java.io.InputStream"} (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_UTF_16BE =
             new INPUT_STREAM ("text/plain; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
          * {@code "java.io.InputStream"} (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_UTF_16LE =
             new INPUT_STREAM ("text/plain; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=us-ascii"},
+         * print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_PLAIN_US_ASCII =
                 new INPUT_STREAM ("text/plain; charset=us-ascii");
 
         /**
-         * Doc flavor with MIME type = {@code "text/html"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_HTML_HOST =
             new INPUT_STREAM ("text/html; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-8"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-8"}, print
+         * data representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM TEXT_HTML_UTF_8 =
             new INPUT_STREAM ("text/html; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
+         * print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_HTML_UTF_16 =
             new INPUT_STREAM ("text/html; charset=utf-16");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
          * {@code "java.io.InputStream"} (byte stream).
          */
         public static final INPUT_STREAM TEXT_HTML_UTF_16BE =
             new INPUT_STREAM ("text/html; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
          * {@code "java.io.InputStream"} (byte stream).
          */
         public static final INPUT_STREAM TEXT_HTML_UTF_16LE =
             new INPUT_STREAM ("text/html; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=us-ascii"},
+         * print data representation class name = {@code "java.io.InputStream"}
+         * (byte stream).
          */
         public static final INPUT_STREAM TEXT_HTML_US_ASCII =
             new INPUT_STREAM ("text/html; charset=us-ascii");
 
-
         /**
-         * Doc flavor with MIME type = {@code "application/pdf"}, print
-         * data representation class name = {@code "java.io.InputStream"}
-         * (byte stream).
+         * Doc flavor with MIME type = {@code "application/pdf"}, print data
+         * representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM PDF = new INPUT_STREAM ("application/pdf");
 
         /**
-         * Doc flavor with MIME type = {@code "application/postscript"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "application/postscript"}, print
+         * data representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM POSTSCRIPT =
             new INPUT_STREAM ("application/postscript");
 
         /**
-         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"}, print
+         * data representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM PCL =
             new INPUT_STREAM ("application/vnd.hp-PCL");
 
         /**
          * Doc flavor with MIME type = {@code "image/gif"}, print data
-         * representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM GIF = new INPUT_STREAM ("image/gif");
 
         /**
          * Doc flavor with MIME type = {@code "image/jpeg"}, print data
-         * representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM JPEG = new INPUT_STREAM ("image/jpeg");
 
         /**
          * Doc flavor with MIME type = {@code "image/png"}, print data
-         * representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
+         * representation class name = {@code "java.io.InputStream"} (byte
+         * stream).
          */
         public static final INPUT_STREAM PNG = new INPUT_STREAM ("image/png");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "application/octet-stream"},
-         * print data representation class name =
-         * {@code "java.io.InputStream"} (byte stream).
-         * The client must determine that data described
-         * using this DocFlavor is valid for the printer.
+         * Doc flavor with MIME type = {@code "application/octet-stream"}, print
+         * data representation class name = {@code "java.io.InputStream"} (byte
+         * stream). The client must determine that data described using this
+         * {@code DocFlavor} is valid for the printer.
          */
         public static final INPUT_STREAM AUTOSENSE =
             new INPUT_STREAM ("application/octet-stream");
-
     }
 
     /**
-     * Class DocFlavor.URL provides predefined static constant DocFlavor
-     * objects.
-     * For example doc flavors using a Uniform Resource Locator ({@link
-     * java.net.URL java.net.URL}) as the print data
+     * Class {@code DocFlavor.URL} provides predefined static constant
+     * {@code DocFlavor} objects. For example doc flavors using a Uniform
+     * Resource Locator ({@link java.net.URL java.net.URL}) as the print data
      * representation class.
      *
      * @author  Alan Kaminsky
      */
     public static class URL extends DocFlavor {
+
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = 2936725788144902062L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of {@code "java.net.URL"}.
-         *
-         * @param  mimeType   MIME media type string.
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "java.net.URL"}.
          *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * @param  mimeType MIME media type string
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string
          */
         public URL (String mimeType) {
             super (mimeType, "java.net.URL");
         }
 
         /**
-         * Doc flavor with MIME type = {@code "text/plain"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_PLAIN_HOST =
             new URL ("text/plain; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-8"},
-         * print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-8"},
+         * print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_PLAIN_UTF_8 =
             new URL ("text/plain; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16"},
-         * print data representation class name =
-         * {@code java.net.URL""} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
+         * print data representation class name = {@code java.net.URL""} (byte
+         * stream).
          */
         public static final URL TEXT_PLAIN_UTF_16 =
             new URL ("text/plain; charset=utf-16");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
          * {@code "java.net.URL"} (byte stream).
          */
         public static final URL TEXT_PLAIN_UTF_16BE =
             new URL ("text/plain; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/plain; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
          * {@code "java.net.URL"} (byte stream).
          */
         public static final URL TEXT_PLAIN_UTF_16LE =
             new URL ("text/plain; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/plain; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/plain; charset=us-ascii"},
+         * print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_PLAIN_US_ASCII =
             new URL ("text/plain; charset=us-ascii");
 
         /**
-         * Doc flavor with MIME type = {@code "text/html"},
-         * encoded in the host platform encoding.
-         * See {@link DocFlavor#hostEncoding hostEncoding}
-         * Print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html"}, encoded in the host
+         * platform encoding. See {@link DocFlavor#hostEncoding hostEncoding}.
+         * Print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_HTML_HOST =
             new URL ("text/html; charset="+hostEncoding);
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-8"},
-         * print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-8"}, print
+         * data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_HTML_UTF_8 =
             new URL ("text/html; charset=utf-8");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
+         * print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_HTML_UTF_16 =
             new URL ("text/html; charset=utf-16");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16be"}
-         * (big-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16be"}
+         * (big-endian byte ordering), print data representation class name =
          * {@code "java.net.URL"} (byte stream).
          */
         public static final URL TEXT_HTML_UTF_16BE =
             new URL ("text/html; charset=utf-16be");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=utf-16le"}
-         * (little-endian byte ordering),
-         * print data representation class name =
+         * Doc flavor with MIME type = {@code "text/html; charset=utf-16le"}
+         * (little-endian byte ordering), print data representation class name =
          * {@code "java.net.URL"} (byte stream).
          */
         public static final URL TEXT_HTML_UTF_16LE =
             new URL ("text/html; charset=utf-16le");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "text/html; charset=us-ascii"},
-         * print data representation class name =
-         * {@code "java.net.URL"} (byte stream).
+         * Doc flavor with MIME type = {@code "text/html; charset=us-ascii"},
+         * print data representation class name = {@code "java.net.URL"} (byte
+         * stream).
          */
         public static final URL TEXT_HTML_US_ASCII =
             new URL ("text/html; charset=us-ascii");
 
-
         /**
-         * Doc flavor with MIME type = {@code "application/pdf"}, print
-         * data representation class name = {@code "java.net.URL"}.
+         * Doc flavor with MIME type = {@code "application/pdf"}, print data
+         * representation class name = {@code "java.net.URL"}.
          */
         public static final URL PDF = new URL ("application/pdf");
 
         /**
-         * Doc flavor with MIME type = {@code "application/postscript"},
-         * print data representation class name = {@code "java.net.URL"}.
+         * Doc flavor with MIME type = {@code "application/postscript"}, print
+         * data representation class name = {@code "java.net.URL"}.
          */
         public static final URL POSTSCRIPT = new URL ("application/postscript");
 
         /**
-         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"},
-         * print data representation class name = {@code "java.net.URL"}.
+         * Doc flavor with MIME type = {@code "application/vnd.hp-PCL"}, print
+         * data representation class name = {@code "java.net.URL"}.
          */
         public static final URL PCL = new URL ("application/vnd.hp-PCL");
 
         /**
          * Doc flavor with MIME type = {@code "image/gif"}, print data

@@ -1233,197 +1098,191 @@
          * representation class name = {@code "java.net.URL"}.
          */
         public static final URL PNG = new URL ("image/png");
 
         /**
-         * Doc flavor with MIME type =
-         * {@code "application/octet-stream"},
-         * print data representation class name = {@code "java.net.URL"}.
-         *  The client must determine that data described
-         * using this DocFlavor is valid for the printer.
+         * Doc flavor with MIME type = {@code "application/octet-stream"}, print
+         * data representation class name = {@code "java.net.URL"}. The client
+         * must determine that data described using this {@code DocFlavor} is
+         * valid for the printer.
          */
         public static final URL AUTOSENSE = new URL ("application/octet-stream");
-
     }
 
     /**
-     * Class DocFlavor.CHAR_ARRAY provides predefined static constant
-     * DocFlavor objects for example doc flavors using a character array
-     * ({@code char[]}) as the print data representation class. As such,
-     * the character set is Unicode.
+     * Class {@code DocFlavor.CHAR_ARRAY} provides predefined static constant
+     * {@code DocFlavor} objects for example doc flavors using a character array
+     * ({@code char[]}) as the print data representation class. As such, the
+     * character set is Unicode.
      *
      * @author  Alan Kaminsky
      */
     public static class CHAR_ARRAY extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = -8720590903724405128L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of
-         * {@code "[C"} (character array).
-         *
-         * @param  mimeType  MIME media type string. If it is a text media
-         *                      type, it is assumed to contain a
-         *                      {@code "charset=utf-16"} parameter.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "[C"} (character array).
+         *
+         * @param  mimeType MIME media type string. If it is a text media type,
+         *         it is assumed to contain a {@code "charset=utf-16"}
+         *         parameter.
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string
          */
         public CHAR_ARRAY (String mimeType) {
             super (mimeType, "[C");
         }
 
         /**
          * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
-         * print data representation class name =
-         * {@code "[C"} (character array).
+         * print data representation class name = {@code "[C"} (character
+         * array).
          */
         public static final CHAR_ARRAY TEXT_PLAIN =
             new CHAR_ARRAY ("text/plain; charset=utf-16");
 
         /**
          * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
-         * print data representation class name =
-         * {@code "[C"} (character array).
+         * print data representation class name = {@code "[C"} (character
+         * array).
          */
         public static final CHAR_ARRAY TEXT_HTML =
             new CHAR_ARRAY ("text/html; charset=utf-16");
-
     }
 
     /**
-     * Class DocFlavor.STRING provides predefined static constant DocFlavor
-     * objects for example doc flavors using a string ({@link java.lang.String
-     * java.lang.String}) as the print data representation class.
+     * Class {@code DocFlavor.STRING} provides predefined static constant
+     * {@code DocFlavor} objects for example doc flavors using a string
+     * ({@link String java.lang.String}) as the print data representation class.
      * As such, the character set is Unicode.
      *
      * @author  Alan Kaminsky
      */
     public static class STRING extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = 4414407504887034035L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of {@code "java.lang.String"}.
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "java.lang.String"}.
          *
-         * @param  mimeType  MIME media type string. If it is a text media
-         *                      type, it is assumed to contain a
-         *                      {@code "charset=utf-16"} parameter.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * @param  mimeType MIME media type string. If it is a text media type,
+         *         it is assumed to contain a {@code "charset=utf-16"}
+         *         parameter.
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string
          */
         public STRING (String mimeType) {
             super (mimeType, "java.lang.String");
         }
 
         /**
          * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.lang.String"}.
+         * print data representation class name = {@code "java.lang.String"}.
          */
         public static final STRING TEXT_PLAIN =
             new STRING ("text/plain; charset=utf-16");
 
         /**
          * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.lang.String"}.
+         * print data representation class name = {@code "java.lang.String"}.
          */
         public static final STRING TEXT_HTML =
             new STRING ("text/html; charset=utf-16");
     }
 
     /**
-     * Class DocFlavor.READER provides predefined static constant DocFlavor
-     * objects for example doc flavors using a character stream ({@link
-     * java.io.Reader java.io.Reader}) as the print data
+     * Class {@code DocFlavor.READER} provides predefined static constant
+     * {@code DocFlavor} objects for example doc flavors using a character
+     * stream ({@link java.io.Reader java.io.Reader}) as the print data
      * representation class. As such, the character set is Unicode.
      *
      * @author  Alan Kaminsky
      */
     public static class READER extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = 7100295812579351567L;
 
         /**
-         * Constructs a new doc flavor with the given MIME type and a print
-         * data representation class name of\
-         * {@code "java.io.Reader"} (character stream).
-         *
-         * @param  mimeType  MIME media type string. If it is a text media
-         *                      type, it is assumed to contain a
-         *                      {@code "charset=utf-16"} parameter.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code mimeType} is null.
-         * @exception  IllegalArgumentException
-         *     (unchecked exception) Thrown if {@code mimeType} does not
-         *     obey the syntax for a MIME media type string.
+         * Constructs a new doc flavor with the given MIME type and a print data
+         * representation class name of {@code "java.io.Reader"} (character
+         * stream).
+         *
+         * @param  mimeType MIME media type string. If it is a text media type,
+         *         it is assumed to contain a {@code "charset=utf-16"}
+         *         parameter.
+         * @throws NullPointerException if {@code mimeType} is {@code null}
+         * @throws IllegalArgumentException if {@code mimeType} does not obey
+         *         the syntax for a MIME media type string
          */
         public READER (String mimeType) {
             super (mimeType, "java.io.Reader");
         }
 
         /**
          * Doc flavor with MIME type = {@code "text/plain; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.io.Reader"} (character stream).
+         * print data representation class name = {@code "java.io.Reader"}
+         * (character stream).
          */
         public static final READER TEXT_PLAIN =
             new READER ("text/plain; charset=utf-16");
 
         /**
          * Doc flavor with MIME type = {@code "text/html; charset=utf-16"},
-         * print data representation class name =
-         * {@code "java.io.Reader"} (character stream).
+         * print data representation class name = {@code "java.io.Reader"}
+         * (character stream).
          */
         public static final READER TEXT_HTML =
             new READER ("text/html; charset=utf-16");
 
     }
 
     /**
-     * Class DocFlavor.SERVICE_FORMATTED provides predefined static constant
-     * DocFlavor objects for example doc flavors for service formatted print
-     * data.
+     * Class {@code DocFlavor.SERVICE_FORMATTED} provides predefined static
+     * constant {@code DocFlavor} objects for example doc flavors for service
+     * formatted print data.
      *
      * @author  Alan Kaminsky
      */
     public static class SERVICE_FORMATTED extends DocFlavor {
 
+        /**
+         * Use serialVersionUID from JDK 1.4 for interoperability.
+         */
         private static final long serialVersionUID = 6181337766266637256L;
 
         /**
          * Constructs a new doc flavor with a MIME type of
-         * {@code "application/x-java-jvm-local-objectref"} indicating
-         * service formatted print data and the given print data
-         * representation class name.
-         *
-         * @param  className  Fully-qualified representation class name.
-         *
-         * @exception  NullPointerException
-         *     (unchecked exception) Thrown if {@code className} is
-         *     null.
+         * {@code "application/x-java-jvm-local-objectref"} indicating service
+         * formatted print data and the given print data representation class
+         * name.
+         *
+         * @param  className fully-qualified representation class name
+         * @throws NullPointerException if {@code className} is {@code null}
          */
         public SERVICE_FORMATTED (String className) {
             super ("application/x-java-jvm-local-objectref", className);
         }
 
         /**
          * Service formatted print data doc flavor with print data
          * representation class name =
-         * {@code "java.awt.image.renderable.RenderableImage"}
-         * (renderable image object).
+         * {@code "java.awt.image.renderable.RenderableImage"} (renderable image
+         * object).
          */
         public static final SERVICE_FORMATTED RENDERABLE_IMAGE =
             new SERVICE_FORMATTED("java.awt.image.renderable.RenderableImage");
 
         /**

@@ -1441,7 +1300,6 @@
          */
         public static final SERVICE_FORMATTED PAGEABLE =
             new SERVICE_FORMATTED ("java.awt.print.Pageable");
 
         }
-
 }
< prev index next >