This class helps mirror the forte event chains in Java. There are several actions in Java that do not mirror the same events as forte does, in particular with the AfterValueChange events. For example, using the default button in Java does not trigger a FocusLoss event on the focus owner and thus AfterValueChange events are not fired.
To get around this situation, this class knows how to properly handle the various actions that may not fire a focus loss event and adjusts the event chains accordingly. For example, on a window closing, it will automatically fire an AfterValueChange event and then post the AfterFinalize event. These are done in the same chain so the event manager can abort the whole chain if needed.
This class also supports some purging actions. When an event is purged, the EventManager determines who is interested in the purge and notifies them. Widgets can register a purge action on this class, then when the purge occurs these actions will be invoked on the EDT. Hence, components can re-request focus, set the caret position, etc.
Note: This class should be used only by infrastructure components, and should not be required from user (application) code.
@author Tim