An HMVC implementation in which Controllers respond to Control objects issued from Views as a
result of user interaction, or from child Controllers in the chain of responsibility.
Infrastructure for binding models to views with full two-way synchronisation: change the view
and the model is updated, and vice-versa.
Wrappers around common Swing components to implement full data binding with validation.
Infrastructure that allows Scope to act on arbitrary JavaBean model objects. This infrastructure
is designed to be decoupled in such a way that an alternative can be plugged in, for example to
act on JMX MBeans.
An implementation of "active" model objects that broadcast changes in their state to allow views
to update automatically. A set of "active" collection models are also provided. Use of these base
classes is optional but convenient in complex applications that use a rich GUI, eg Swing, in which
fully automated synchronisation between model and view is desirable. However, even where this is
not feasible, Scope's Swing implementation without "active" models enables simple semi-automatic
data-binding -- see the samples.
Support for localisation of user messages.
Support for conversion of arbitrary datatypes to and from their String representation.
A comprehensive unit test suite to ensure a known quality level.