The org.jmonde.state package is used to implement state machines.
This package provides for nested states, transitions (normal, self, and auto), history, and enter and exit actions. This package does not provide for guard conditions, transition actions, or internal actions. These can be implemented using normal Java capabilities.
The classes in this package are not thread-safe. Instances of these classes should be encapsulated and it is the responsibility of the enclosing class to provide thread-safe access.