The toolkit has a hierarchy of data elements. At the top of the hierarchy is the DataElement class. This abstract class is the base class for single data items or data collections. It provides a mandatory ID instance variable for identification and an optional description instance variable for description. A data element can either have a value or it can be a collection of other data elements. This maximizes reusability of code and follows the Composite design pattern in which any element of the collection can itself be a collection. DataCollection is the abstract base class for collections and provides methods for adding, retrieving, and deleting data elements. DataCollection is a subclass of DataElement.
The data elements hierarchy is extensible, and new classes can be derived easily when more functionality is needed. The following sections describe the data elements provided by the toolkit.