talx x1.0.5

Package talx.controller

Defines the behaviors for the system.

See:
          Description

Interface Summary
ActionHandler Stateless objects to handle actions.
ControllerConstants  
ControllerListener Listeners to state changes in the system.
Interceptor Interface for controller chain of responsibility objects.
 

Class Summary
CommandInterceptor Interceptor to handle basic system commands.
ComposerRestore Restores a draft of a message into the composer.
Controller Determines the state and behaviors of the system.
GameLogger  
HandlerUtils Utility functions for handler classes.
TALLogger Provides logging services for normal system events.
 

Exception Summary
ActionVetoException Indicates an attempt to veto an action.
 

Package talx.controller Description

Defines the behaviors for the system. The controller determines how the system reacts to user actions. The controller contains the currently valid copy of the GUI state. There is only one type of controller, it is not subclassed.

Think and Link States

The controller holds two objects that completely determine the state of the system: The current GUIState object and the current ActionHandler object.

The GUI state

The GUI state object is part of the model package. It contains all state information used for rendering and any other state information that it to be used for determining the system's history. When the system shuts down, the GUI state is written to file. Upon restart, it is read back. The GUI state object must contain enough information to allow the system to be placed back in the exact visual state that it was in when shut down. Since the GUI state objects are used for state serialization, every object placed in the state object must be serializable.

The Action Handlers

The action handler objects determine how the system reacts to user input. Whenever the user initiates an action, the action is passed through the controller to the current action handler. The action handler classes obtain any pertinent information from the GUI state and the settings available from the controller. It is a violate of the Think and Link Specification for the action handlers to be stateful.

Think and Link Behaviors

In general, each subpackage of the controller package represents a set of behaviors. Therefore, each subpackage should be expected to contain a set of action handlers and possibly some Serializable objects that those action handlers use to keep state information in the GUI state object.


talx x1.0.5

© 2001-2005 University of Oregon.
Eugene OR 97403, U.S.A. All Rights Reserved.