The attribute model

Figure 44 illustrates the various classes involved and their relationships. The internal attributes (on the far right) are reference counted and stored together in a private format. There are never any two internal attributes with the same name and value.


A TSharedAttribute points to an internal attribute maintained elsewhere. Other TSharedAttributes with the same name and value share the same internal attribute.

A TSimpleAttributeGroup contains one or more TSharedAttributes. No two attributes within the group have the same name.

A TAttributeGroupHandle points to a sharedTInternalAttributeGroup. Other TAttributeGroupHandles might point to this same internal group. When the internal group changes, it calls NotifyChanged on each of its handles.

A TInheritableGroupHandle might be one of many such handles pointing to the same TInternalInheritableGroup. This shared group might have ancestors and children. When it changes, it calls NotifyChanged both on its own handles and those of its children.

Note that the group handles point to the internal group (not the shared attributes), and that each shared attribute points to the internal attribute (not the data within it).


[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker