CatState

CatState

Superclass
Object

Subclasses
none

Referenced By
DuPontModel

An instance of CatState preserves and caches report values, selection criteria, and open
windows.

Instance Side

A CatState instance should be passed around to all newly created value, model, graph,
and wrapper objects which might need to access the CatState's variables or which might 
need to create a class which will need to access the CatState's variables.  Most of the 
top level financial model classes include a state variable which reference a CatState.
Examples of such class are CatModel, CatModelWrapper, TableGraph, GraphMaker, and 
EditorValues.

In the Aurora financial model,  a CatState is instantiated by DuPontModel

Instance Variables:
windows <OrderedCollection> Identifies all windows that are running for the current application. This is used by CatModelWrappers' menus. Unlike the VisualLauncher's windows menus, this collection does not include development windows or windows corresponding to a different running DuPont (thus with a different CatState). Code of interest is in CatState>>addWindow:, CatState>>removeWindow:, CatModelWrapper>>winListMenu, and CatModelWrapper>>open. The CatModelWrapper code checks if a window is open (in the CatState's windows) before opening a new one.
values <Dictionary> This dictionary caches queried values, calculated values, formula info, userId and the annualizationFactor. The individual values are accessed through CatState>>doesNotUnderstand:. CatState is also set up to reference values through the normal dictionary at:/at:put:/at:ifAbsent: interface.
selectionBox <SelectionBoxValues> The actual class in selectionBox can be configured in BusinessUnit selectionBox. See SelectionBoxValues for more details. It might be a requirement that the values are initialized before selectionBox. That used to be the case, and the code currently behaves that way. Instances Stored In: OldCatModelWrapper, SelectionBoxValues, CatModel, CatModelWrapper, EditorValues, GraphMaker, TableGraph, PIVcosValue, ExecutiveModel, TBUPlanSelection Developed by Joseph W. Yoder (yoder@cat.ncsa.uiuc.edu) Questions on windows should be directed to: Jeff Barcalow (barcalow@cat.ncsa.uiuc.edu) Questions on selectionBox should be directed to: Dmitry Zelenko (zelenko@cat.ncsa.uiuc.edu) Questions on values should be directed to: Joe Yoder (yoder@cat.ncsa.uiuc.edu) or John Brant (brant@cs.uiuc.edu)

Potential problems with this comment:
	Variable has invalid type - 
		#('selectionBox' 'SelectionBoxValues')