Command execution classes. These include classes such as the {@link javax.ide.command.Controller} that gets called when an action is triggered by the user, and the command processing classes managing the undo/redo stack.

IDE service providers must provide an implementation of the {@link javax.ide.command.CommandProcessor}. This class is responsible for managing the execution of {@link javax.ide.command.Command}s, and for maintaining the undo stack.

When extension writers add new menus to an IDE, they must implement the Controller interface and declare their controller implementation in the actions section of the Extension Deployment Descriptor (EDD).

When one of these new menus is executed by the user, the IDE calls the Controller's handleAction method. There, the extension writers should instantiate the Command implementation that will carry out some action, and use the CommandProcessor to invoke that command.