ccl is a reusable Java library distributed under the terms of the Mozilla Public License (or GNU GPL or GNU LGPL, whichever of these you like).

It contains code I wrote and (re-)used for several projects (Jacob, Timelog, WebPresenter, and others) and plan to use again for new projects in the future.

Maybe this code is of some use for you too.

How the gui part of the library is used to create a base application, can be seen from the source code examples and It is a base application with a frame, menu, info box, and help page. The code can be used to jump start your own application.
A precompiled project setup of the example with start and build script etc. can be found in this file.

The file utility methods have a separate page dedicated to them. They can also be used by a package of its own independently from the rest of the ccl library: FileUtil

You can always find the newest version of this page at:

Here is the meat: The ccl API Documentation


System Requirements

Java JDK >= 1.4.1.


ccl Version 32.69 
If you want to get notified when new updates for ccl are available please press the following button:
(thanks for your interest)


Just unzip and add ccl32.69/lib/ccl.jar to your classpath. Now you can use the ccl package in your project. With

java ccl.Main -check

you can trigger a ccl self test. There is also a script in the bin directory which you can use to invoke the self test.

./bin/ccl -check

This should work most of the time. Eventually you need to specify in the shell script or batch file some environment variables explicitly if the script could not figure out everything itself.

If you use the help feature from ccl.swing.MainJFrame, you have to add JavaHelp to your classpath. For convenience reasons JavaHelp is distributed together with ccl (just add ccl32.69/lib/jhbasic.jar to your classpath).

Release History

Version 32.69 has been released on November 23, 2003


What's New

  1. Improved exception verbosity in XML/XSLT processing.
  2. Method getStandardDate became getDate in Util class.
  3. New method getName in Test class lets you overwrite the test class name.
  4. New assertion methods 'assertEquals' in ccl.util.Test.
  5. New method 'FileUtil.writeTempFile' to write content into a new temporary file.
  6. New convenience method 'Util.getStackTrace()'.
  7. New convenience method 'Util.getDateTime()'.

Fixed Bugs

  1. XMLImporter has to post to the full class name.
  2. Increased XMLImporter file limit from 2 to 256 MB.
  3. Util.getMonth(..) is now more picky about its input.
Here is the documentation about changes of previous versions.


Below is a list of additional contributors and supporters: Thanks to


Chr. Clemens Lee <> (my resume), last updated: $Date: 2003/05/09 20:25:17 $