Downloads Source Javadoc
Author: Chapman Flack
Home Page:
Version: Unspecified
Release Tag: $
Release Date: 2000/02/11 00:14:58
JVM Required: 1.2
License: Public Domain
Categories: utility, reliability, archive
Dependencies: No dependencies
Externals: None

org.gjt.cuspy (top level) is not so much a single package as a home for useful standalone classes too small to get packages of their own:
Throw a checked exception, unchecked exception, or error, without losing information contained in an earlier exception.
(similar: {@linkorg.gjt.jem.utils.exceptions.WrapperedException})
Like String.intern() but for any object, so you can use == instead of equals().
For reliable general file processing or line/character based net protocols where non-Unicode platforms are involved.
Self-extracting jars that also safely convert extracted text files to the receiver's encoding and newline conventions.
If there's a common theme, it's to help with writing reliable, secure code.

These classes (with any inner classes they include) may be treated as units of distribution; in fact, each one (will have) a jar file available for download (as soon as I can make that work on GJT). If you develop for the Java 1.2 runtime environment, you can treat these jars as extensions: they can be placed in the jre/lib/ext directory of the runtime system if heavily used, and any that are not so installed can be automatically downloaded with your app.

Here are some more notes on the classes:

API requirements sometimes call for catching an exception and throwing one of a different type. With this class you can do that and not lose invaluable debugging information, and the level of detail shown can be changed without access to the source or recompiling, so mysterious problems can be tracked down in the field. Java 1.1 or 1.2.
Requires Java 1.2 because it uses WeakReferences to allow intern map space to be reclaimed when the objects are unreachable (like a WeakHashMap, but this is concerned with when the objects themselves are released, where WeakHashMap is concerned with the keys).
If you do any programming involving line/character-based network protocols, or general-purpose file processing and your OS isn't something like Plan9 that's Unicode from the ground up, please at least read the rationale in this class API doc, and avoid writing unreliable, unsafe code! Depending on your application, you may find this class convenient. Needs Java 1.2 because it uses Interned.
Works with Java 1.1 and later.


The following page lists the available downloads for the release of package 'org.gjt.cuspy' tagged ' $'. If you need to work with releases other than ' $', you will need to use the anonymous CVS server to access them.