General event manager
Event management is the backbone of any large scale software system. For some reason the JDK does not include this vital component, and instead reimplement it for each component needing the functionality. The present solution is simple, yet complete and capable of fulfilling all needs of any client.
Generic directory structure
A directory structure is a collection almost as common as a list or a stack. Still the JDK lacks a proper implementation of this other than in Swing where the API is GUI based. Note that this module has nothing to do with file systems.
TreeModel implementation of a file system
This is a classic implementation of a JDK TreeModel interface for a file system where care has been taken to make it properly updated when the file system changes.
A timeless Date class
The JDK actually lacks a proper date class. java.util.Date and Calendar are time classes really, and are messy to use when dealing with days only. The Day class provided here has a Calendar back-end, but hides the time component. The Time class inherits from Day and completes the picture.
Program event timer
For simple timing of processes, algorithms, sequence or the entire JVM session.
Monitor changes to disk files
Utility class for monitoring specified files or directories (java.io.File) in a file system. The monitor uses polling with a client specified polling interval, and report creation, changes and deletion through the listening interface.
Simple extension to the JDK StringTokenizer with the ability to handle empty tokens.
An iterator object that produce "nice" numbers within an interval. Useful for generating axes annotation. Support for bounded and unbounded intervals, minor nice numbers and minor minor nice numbers.
Byte swapper utility
Utility for byte swapping of all java data types. Byte swapping is used when communicating binary data between little-endian and big-endian representations.
Class for keeping track of current locale and picking localized language elements from resource bundles. Includes notification feature that makes it simple to create dynamic updatable GUIs based on user selected locale.
Time zone manager
Class for keeping track or current time zone. Includes notification feature that makes it simple to create dynamic updatable GUIs based on user selected time zone.
Currency manager and exchange rate server
Manager object for java.util.Currency with capability to deliver dynamic exchange rate information through a CurrencyServer interface. One specific currency server is included.
Country manager singleton for serving localized country instances according to ISO standard ISO 3166-1. Suitable for populating GUI elements like sorted country selection lists. World countries localization mapping for locale en_US and no_NO are provided. Others must by supplied as needed.
Class for converting images (java.awt.Image) and java components (java.awt.Component) to GIF files.
Base class for file readers/writers
A common base class for file reader/writers with features like logging, progress monitoring, ASCII/binary access and checksum generation.
Access client web browser from java
A class for accessing the client web browser from a java program, launching URLs or local files. Platform specific code for MS/Windows, Linux and MacOS.
Originally written by Eric Albert @ Stanford University.
A collection of geometry utilities
Collection of static methods for intersections, area computation, ellipse creation, geometric distances, vector functions and more.
Matrix for geometric transformations
A 4x4 matrix implementation specially designed for a 2D or 3D graphics rendering engine. Contains methods for world-to-device definition, inverse, general transformations (including rotate about arbitrary axis) and coordinate transformations.
A Java implementation of the X11 region.
A complete reimplementation of the X11 region feature. This is a vital component of any graphics rendering engine as it keeps track of objects and damage regions. Similar to java.awt.geom.Area, but 20 - 100 times faster.
Factory class for 3D spline generation
A factory class for generation of 3D splines based on specified control points. Included are Bezier spline, cubic spline and Catmull-Rom spline.
2D graphics library
A complete 2D graphics library and rendering engine. Including layered hierarchical graphical objects, 3D world extents, powerful style support, smart annotation, image support, and interactions.
Compute the polynomial factors for a curve passing a set of specified points.
Application splash screen
Simple class representing an application splash screen.
A collection of useful color utilities
Static methods for color blending, finding color distances, darkening and lightening of colors and more.
The above source code is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
The above source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.