This diagram shows the major elements comprising the JAF architecture. Note that the framework shown here is not bound to a particular application.
The DataHandler Class
The DataHandler class (shown in the diagram above) provides a consistent interface between JAF-aware clients and other subsystems.
3.2 The DataSource Interface
DataSource interface encapsulates an object that contains data, and that can return both a stream providing data access, and a string defining the MIME type describing the data.
Classes can be implemented for common data sources (web, file system, IMAP, ftp, etc.). The DataSource interface can also be extended to allow per data source user customizations. Once the DataSource is set in the DataHandler, the client can determine the operations available on that data.
The JAF includes two DataSource class implementations for convenience:
FileDataSource accesses data held in a file.
URLDataSource accesses data held at a URL.
The CommandMap Interface
The CommandMap provides a service that allows consumers of its interfaces to determine the ‘commands’ available on a particular MIME type as well as an interface to retrieve an object that can operate on an object of a particular MIME type (effectively a component registry). The Command Map can generate and maintain a list of available capabilities on a particular data type by a mechanism defined by the implementation of the particular instance of the CommandMap.
The JavaBeans™ package provides the programming model for the software components that implement the commands. Each JavaBeans™ component can use
7 of 21