The other classes on the lowest level, AbstractWatchApplet and WatchCanvas,
provide us with an important mechanism that insulates the watch architecture from
platform-dependent user interface issues. For each supported target platform, there is
an individual version of both of these classes, and it is their responsibility to ensure
that there is only one kind of target template the code generator needs to interface with.
Initially, there was only one target platform: Java applets in a web browser.
On top of the platform interface and utilizing its services is the core of the
framework. The core is responsible for implementing the counterparts for the
logical structures presented by the models. The abstract de?¬?nitions of watch
applications, logical watches, and displays can be found here (the classes Abstract
WatchApplication and AbstractDisplay). When the code generator encounters one
of these elements in the models, it creates a concrete subclass of the corresponding
abstract class.
Unlike the platform interface or the core levels, the model interface level no longer
includes any prede?¬?ned classes. Instead, it is more like a set of rules or an API of what
kind of generator output is expected when concrete versions of AbstractWatchApplet,
AbstractWatchApplication, or AbstractDisplay are created.
Pages:
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404