<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<head>
    <name>Requirements</name>
    <doc-version>$Date: 2003/05/08 14:13:11 $</doc-version>
    <author>Matt Albrecht</author>
</head>
<body>
The Util-Classes project must:
<UL>
    <LI>
    Provide an API to ease the burden of classloading implementation
    differences between JDKs.
    </LI>
    <LI>
    Ease the effort involved in creating an SPI-like implementation.
    SPI (Service Provider Interface) was first (as far as I can tell) described
    in the JDK 1.3 documentation discussing the JFC input method engine in
    <a href="http://java.sun.com/j2se/1.3/docs/guide/imf/overview.html">
    the JDK 1.3 documentation overview of the Input Method Framework</a>,
    and a description of the technology was put in <a
    href="http://java.sun.com/j2se/1.3/docs/api/java/awt/im/spi/package-summary.html#package_specification">
    the JavaDoc</a>.
    Another implementation is needed since the Sun implementation of loading
    SPI classes was privately used.
    </LI>
    <LI>
    Helpers for creating chainable exceptions.  JDK 1.4 introduces this
    capability for all exceptions, but for JDK 1.1 compatible code this
    is not acceptible.
    </LI>
    <LI>
    Helpers for creating and maintaining singleton instances of classes.
    </LI>
</UL>
</body>
</document>

