Free Software

Java Supplements

This library of utility classes extends and enhances the functionality of the classes provided by the normal Java API. Tired of writing the same old code over and over again to catch InterruptedExceptions on Thread.sleep() calls? Or the same code for reading files into a byte array? Now you don't have to -- these supplemental classes provide robust and reliable code for doing many of the tasks which the typical Java developer finds themself writing code for again and again. Also includes the frequently requested "ReaderInputStream" (which does exactly what it sounds like -- provides an opposite of an InputStreamReader).

TransparentPreparedStatement

This free class provides transparency into your prepared statements by letting you see "into them" and see what the SQL statement that is going to be executed looks like.

The JarJar ClassLoader

This custom class loader allows you to load classes from .JAR files that are stored inside your main .JAR file -- so if your applet or application needs to access other libraries which are already packaged as .JAR files, you can now just include them in your main .JAR file.

m3uniq

A free utility for removing duplicates from m3u (winamp) playlists based on filename, name (extended info), and/or length.

The Modern ClassLoader

This simple ClassLoader extension provides replacements for the normal ClassLoader.findResources(String) and ClassLoader.getSystemResources(String) methods which still return Enumerations (in order to maintain backwards compatibility) even in recent versions of Java. The replacement versions provided return Iterators instead so they are compatible with any existing code you have for operating on Iterators.

AppletTagger

This handy set of Java components allows you to specify the details of the applet you would like to setup in an XML-based configuration file. This configuration can be created through an intuitive and easy to use graphical interface. Once your configuration is created, you can statically generate the required applet tags through the GUI for later inclusion in your web pages, or you can make calls to the creator components from your JSP pages to dynamically create the required tags for whatever browser is viewing your page.

SuperApplet

This Applet wrapper class provides a basis for writing "Wrapper Applets" which contain other applets. These Wrapper applets can provide additional functionality to multiple existing applets in a generalized way without requiring any code changes to the existing applets, and with minimal modification to your applet tags. The SuperApplet provides no additional functionality itself, but allows you to define the additional functionality through a simple set of life-cycle event methods.

See what we've been working on lately at milo.com