Aqueduct is a simple, lightweight state machine library for Java. Many programs, or subsystems within an application, can be described naturally as a state machine or flowchart. This library is intended to simplify the development of such programs.
The library consists of only a few classes and interfaces. The core types in the library are:
This library makes heavy use of Java 5's template types. Unlike many other workflow/state machine libraries, it doesn't use XML configuration files to define the state machine transitions.
I'm working on putting together some example code now, and will add the tutorial once it's finished.
Aqueduct was originally inspired by a program involving record processing from text files. I am currently working on an example program that reads recipes from a text file. I'll add that example and others as I finish them.