ccl is reusable Java library distributed under the terms of the Mozilla Public License.

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 Main.java and ViewController.java. 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 guiexample.zip file.


Here is the meat: The ccl API Documentation

Features

System Requirements

Java JDK 1.1 (plus Swing), 1.2, or 1.3. (Optional, Xalan version 2 needed for xml helper class.)

Download

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

Installation

Just unzip ccl24.51.zip and add ccl24.51/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 ccl24.51/lib/jhbasic.jar to your classpath).

Release History

Version 24.51

Version 24.51 has been released on December 30, 2001

Minor bug fixes.

Fixed Bugs

  1. Added new tests for ccl.servlet.XMLImportHandler class using a PostgreSQL database. If the user has no JDBC driver installed for this database, the tests will be skipped.
  2. ccl.util.Init class did not accept project file names without a suffix.

Version 23.50

Version 23.50 has been released on November 27, 2001

Minor bug fix with comman line option handling.

Fixed Bugs

  1. Text after commas in command line option descriptions got truncated.

Version 22.48

Version 22.48 has been released on October 31, 2001

Minor feature enhancements.

What's New

  1. Util.untabify() method replaces tab characters with the necessary number of spaces.
  2. New convenience method ccl.xml.XMLUtil.getValueOf(file,xpath).
  3. New method ccl.util.FileUtil.normalizeFileName(filename) which returns an absolute file name but takes the system property "user.dir" into account (instead of the native system's current directory (which can't be changed that easily in Java).
  4. New class ccl.util.ClassPathUtil which contains methods moved from other classes dealing with finding files or directories from the classpath or inside jar archives.

Version 17.42

Version 17.42 has been released on June 25, 2001

Minor enhancements.

What's New

  1. More convenience methods for converting xml via xslt in ccl.xml.XMLUtil.
  2. New native method setLocation( Frame f, int x, int y ) for Linux as my last hope to workaround a nasty Java bug.

Version 16.41

Version 16.41 has been released on June 10, 2001

Minor new features.

What's New

  1. New class ccl.servlet.CSV to generate spread sheet data in csv format.
  2. New method in ccl.servlet.HTML to convert a null or empty string into a space in HTML ( ).
  3. Added ccl.util.Util.getFirstDayOfMonth().

Bugs Fixed

  1. ReflectionClassLoader failed loading classes from package javax in version Java 1.1.
  2. A bug fix in FileUtil.readStream(). End of stream was not always successfully recognized.

Version 15.37

Version 15.37 has been released on April 22, 2001

New XMLUtil class.

What's New

  1. ccl.xml.XMLUtil is an utility class which makes transforming xml via xslt stylesheets just as convenient as invoking a shell script. You provide either files or strings and get the transformed xml file back as a string or file. No need to know the classes used from Xalan in detail.

Bugs Fixed

  1. None.

Version 14.36

Version 14.36 has been released on April 19, 2001

Improved HTML formatting class.

What's New

  1. Class ccl.servlet.HTML has better formatting of data tables.
  2. Class ccl.util.DBUtil supports now InstantDB as well as Sybase.

Bugs Fixed

  1. None.

Version 13.33

Version 13.33 has been released on March 11, 2001

New servlet support classes and a TextViewer class.

What's New

  1. New class ccl.servlet.HTML.
  2. New class ccl.servlet.XMLExporter.
  3. New class ccl.servlet.XMLImporter and ccl.servlet.XMLImportHandler.
  4. New class ccl.util.DBUtil.
  5. New class ccl.swing.TextViewer.

Bugs Fixed

  1. None.

Version 12.32

Version 12.32 has been released on February 28, 2001

Minor new features.

What's New

  1. Util has new methods to get formatted memory information (percentage of used memory etc.).
  2. FileUtil has new methods 'getBaseName' and 'getDirName'.

Bugs Fixed

  1. InputCancelDialog had a severe (off by one) bug in its history handling.

Version 11.31

Version 11.31 has been released on February 11, 2001

Minor new features.

What's New

  1. Text field input dialog (ccl.swing.InputCancelDialog) has optional drop down list.
  2. FTPUtil is a wrapper of the sun.net.ftp.FtpClient class. This class provides convenience methods for ftp put and get in binary mode.

Bugs Fixed

  1. FileUtil.getFiles(String,String) is now also able to process empty ("") file suffixes.

Version 10.29

Version 10.29 has been released on December 2, 2000

A minor bug fix.

What's New

  1. Method 'getTimeWithMillis' in ccl.Util.
  2. Shell script and batch file included to start self test.
  3. Makefile (with hardcoded paths) for compiling native code for Linux is included.

Bugs Fixed

  1. For applications installed under a classes directory the application path was not identified correctly.

Version 9.26

Version 9.26 has been released on October 27, 2000

Init class does use awt only if necessary.

What's New

  1. Init class does not use awt if not necessary. The awt is only needed for color objects anyway. In batch mode the background colors is hardly of relevance. Now the class can be used on machines which have no X installed.

Bugs Fixed

  1. None.

Version 8.24

Version 8.24 has been released on September 28, 2000

Minor additions.

What's New

  1. ccl.util.OutputErrorStreamManager captures stdio and stderr streams.

Bugs Fixed

  1. Miscellaneous.

Version 7.22

Version 7.22 has been released on June 30, 2000

Some new GUI classes.

What's New

  1. New class BusyWindow, CCLTreeNode, HighlightableList, ListCancelMultiSelector, ListEditDialog, ListToListPanel, MetaJDialog, MemoryDialog, MemoryPanel, and ThreadsDialog.
  2. SplitPane provides workaround for setDividerLocation( double ) bug in Swing JSplitPane class. Thanks to Marcel Nijman for this code.
  3. JCFUtil class which offers some helper methods for analyzing Java byte code files. It uses Matt Yourst's Java Class File library.
  4. New package ccl.platform with Linux class to access some Unix system functions (e.g. create symbolic link etc.).

Bugs Fixed

  1. Miscellaneous.

Version 6.20

Version 6.20 has been released on April 17, 2000

Some new GUI classes.

What's New

  1. New class BusyWindow, CCLTreeNode, HighlightableList, ListCancelMultiSelector, ListEditDialog, ListToListPanel, MetaJDialog, MemoryDialog, MemoryPanel, and ThreadsDialog.
  2. SplitPane provides workaround for setDividerLocation( double ) bug in Swing JSplitPane class. Thanks to Marcel Nijman for this code.
  3. JCFUtil class which offers some helper methods for analyzing Java byte code files. It uses Matt Yourst's Java Class File library.
  4. New package ccl.platform with Linux class to access some Unix system functions (e.g. create symbolic link etc.).

Bugs Fixed

  1. Miscellaneous.

Version 5.18

Version 5.18 has been released on December 16, 1999

New date methods and GUI date text field.

What's New

  1. New GUI date text widget ccl.swing.DateField.
  2. New date methods in ccl.util.Util.

Bugs Fixed

  1. Miscellaneous.

Version 4.11

Version 4.11 has been released on October 18, 1999

New GUI/Swing package and some minor ccl.util classes.

What's New

  1. New GUI/Swing application framework and utility classes.
  2. New ThreadExitSecurityManager, History, Initializable, Testable classes.

Version 3.9

Version 3.9 has been released on August 1, 1999

New ccl.util classes.

What's New

  1. Direction, Enum, FileObject, History, Init, Option, ReflectionClassLoader, Singleton, SysEnv classes and Exitable interface.

Version 2.7

Version 2.7 has been released on July 29, 1999

New support for Windows ini or KDE config files.

Version 1.6

Version 1.6 has been released on July 26, 1999

Authors

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

Links


Chr. Clemens Lee <clemens@kclee.com> (my resume), last updated: $Date: 2001/09/14 20:47:28 $