General Utilities
| Module |
Description |
Dependencies |
Source |
|
event
|
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.
|
None
|
event.jar
EventListener.java
EventManager.java
|
|
directory
|
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.
|
None
|
directory.jar
DirectoryEntry.java
DirectoryItem.java
Folder.java
SymbolicLink.java
|
|
filesystem
|
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.
|
None |
filesystem.jar
FileSystemModel.java
|
|
day
|
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.
|
None |
day.jar
Day.java
Time.java
|
|
timer
|
Program event timer
For simple timing of processes, algorithms, sequence or
the entire JVM session.
|
None
|
timer.jar
Timer.java
|
|
filemonitor
|
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.
|
None |
filemonitor.jar
FileListener.java
FileMonitor.java
|
|
tokenizer
|
Smart Tokenizer
Simple extension to the JDK StringTokenizer with
the ability to handle empty tokens.
|
None |
tokenizer.jar
SmartTokenizer.java
|
|
nicenumbers
|
Nice Numbers
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.
|
None |
nicenumbers.jar
NiceNumbers.java
NiceNumber.java
|
|
byteswapper
|
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.
|
None |
byteswapper.jar
ByteSwapper.java
|
|
Internationalization
|
I/O
| Module |
Description |
Dependencies |
Source |
|
gifencoder
|
GIF encoder
Class for converting images (java.awt.Image) and
java components (java.awt.Component) to GIF files.
|
None
|
gifencoder.jar
GifEncoder.java
|
|
fileaccessor
|
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.
|
None
|
fileaccessor.jar
FileLogger.java
FileAccessor.java
|
|
browser
|
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.
|
None
|
browser.jar
Browser.java
|
|
Geometry
| Module |
Description |
Dependencies |
Source |
|
geometry
|
A collection of geometry utilities
Collection of static methods for
intersections,
area computation,
ellipse creation,
geometric distances,
vector functions
and more.
|
None
|
geometry.jar
Geometry.java
|
|
matrix4x4
|
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.
|
None
|
matrix4x4.jar
Matrix4x4.java
Vector4.java
|
|
region
|
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.
|
None
|
region.jar
Region.java
Box.java
Rect.java
|
|
spline
|
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.
|
None
|
spline.jar
SplineFactory.java
Spline.java
BezierSpline.java
CubicSpline.java
CatmullRomSpline.java
|
|
Graphics
|
Mathematics
|
User Interface
| Module |
Description |
Dependencies |
Source |
|
splashscreen
|
Application splash screen
Simple class representing an application splash screen.
|
None
|
splashscreen.jar
SplashScreen.java
|
|
colorutil
|
A collection of useful color utilities
Static methods for
color blending,
finding color distances,
darkening and lightening of colors
and more.
|
None
|
colorutil.jar
ColorUtil.java
|
|
Feedback
Suggestions for improvements, error reports or comments?
Please contact
software@geosoft.no.
|
License Information
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.
In short:
- The libraries listed are free and can be used for any
purposes (also commercial).
- The libraries must be accessed through the provided jar files.
Its components may not be extracted and re-bundled with a client
application.
- If classes or packages are added, or classes are renamed or
modified in any other way; The resulting packages and classes
must also be licensed under the GNU LGPL.
|