Context Toolkit: Tutorial: Helper Classes
This file contains a list of classes that are useful and/or necessary to
understand, when dealing with the context toolkit.
Necessary Classes
In this section, I'll briefly describe the classes that are necessary to
understand in order to use the context toolkit. Some classes have been
described in other files and will not be repeated here - links will be
provided to those descriptions.
BaseObject (link)
Widget (link)
Server (link)
Interpreter (link)
DataObject
DataObject
is one of the most important classes in the context toolkit. It is used
as an intermediate object to pass data between components. Almost any helper
class in the context toolkit can be converted to a DataObject (as seen
by the toDataObject() methods in many classes) and can be created from
a DataObject (as seen by the constructors that take only a DataObject parameter).
For outgoing communications, classes are converted to a DataObject (usually
automatically). The DataObject is then encoded and a protocol is added,
and the data is sent out. By having a single object that we can convert
all other objects to, we can more automatically handle the communications
between components. It allows us to effectively pass objects between distributed
components, without having to use a programming language specific mechansim
like Remote Method Invocation or a heavyweight mechanism like CORBA. On
the incoming side, once the protocol is stripped, the data is decoded to
form a DataObject. In some cases, the DataObject is automatically converted
to the object that it was created from (on the output side). However, in
most cases, the programmer is left to convert the DataObject.
Error
All of the communications between components return a DataObject to the
component initiating the communications. In every case, an Error
object can be created from the DataObject. This object describes whether
or not the communication request was successful. If successful, the error
string will be NO_ERROR. If not successful, the error string will be set
to an appropriate error, depending on the reason for the failure. It is
suggested that when debugging, you always check the Error object as it
is often a useful source of information (when things go wrong).
Attribute (link)
AttributeFunction (link)
AttributeNameValue (link)
Condition (link)
Retrieval (link)
RetrievalResults (link)
Callback (link)
Subscriber (link)
WidgetHandle (link)
Useful Classes
In this section, I'll briefly describe the classes that are useful to understand
in order to use the context toolkit.
Constants
Constants
is essentially a list of important constants used by the various context
components.
ContextTypes
ContextTypes
is essentially a list of context types that we have used in our applications
so far.
ConfigObject
A ConfigObject
is similar to a WidgetHandle. It basically
encapsulates the information necessary to communicate with any context
components (not just a widget). This information includes the hostname,
port, id and type of component.
Configuration
A Configuration
object is used to collect information about all the widgets, interpreters,
and servers being used in a particular application. Typically this information
is stored in a file such as this.
This information is put in a DataObject and converted to a Configuration
object. It organizes the information in the form of collections of ConfigObjects,
organized by widgets, interpreters and servers.
XMLURLReader
The XMLURLReader
is used to read a configuration file for a given application that has been
written in XML, such as this.
It reads in the file and makes the results available as a DataObject,
which can then be converted to a Configuration
object.
Back to the Table
of Contents.
Forward to the Known
Bugs and Problems section.
Context
Toolkit Home
Last Modified: Feburary 11, 2000
Comments to: anind@cc.gatech.edu