Metanotion Java Utils

This is a collection of classes and interfaces, generically useful in many of our projects.

For the rest of Metanotion Software's services and products, please visit our homepage.

This is a catch all project, mostly centered around classes and interfaces that "complete" the Java standard library. A lot of these classes are oriented around interfaces for describing delegation and dynamic invokation patterns, IO utility classes, and collections. The collection of classes in this project is not guaranteed to be stable, as any group of classes or pattern of objects may evolve to deserve a separate library. However, if we remove classes, the new projects which these classes graduate to will be listed here as well.

A note on style: We prefer interfaces and delegation to inheritance. Generics are to be used extensively. Constructors should be used to support a constructor injection style ( Pico Container is our preferred dependency injection framework). Static methods are to be avoided. Final instance variables are preferred. Thread Safety, composability and java.util.concurrent.* are important, and synchronized methods are "bad". Reflection is generally "bad".

There is a time and place for everything, the preceding "style list" is more about the mindset this code was developed for. Also, we make mistakes, so not all of this is reflected 100% in the code. Doing everything completely different from that list is fine too, just not in this project, today, well, at least, sometimes. There's always an exception to the rule.

The project

To Do List

While normally people would say "volunteers welcome", several of these cryptic notes are more for internal reference.

General

Specific Classes

Last Update: July 6th, 2008.