A framework may include an object model and services. The framework may gather
information at run-time from metadata within the object model before the framework
operates on the classes. For a class within the object model, a subclass may be
generated for containing pertinent metadata about the class. Through annotations
of class members, the framework may determine the various types of data within
the framework. This hierarchy information may specify how objects within the object
model relate to one another. An annotation set within the subclass may contain
information specifying how members of the class should behave, including, which
services of the framework the class member should participate in and how the class
member should participate. The annotations may be used for indicating how services
of the framework should persist data to various storage units, such as an XML file
and/or a database table.