OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide

GPI Object Management
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide424822-001
3-4
Objects and X.400 Messages
Objects Are Grouped Into Classes
Within XAPIA specifications, objects are categorized into classes based on the attribute
types contained in the objects. Attribute types are described later in Attribute Type on
page 3-11. For example, suppose there are five types, named A, B, C, D, and E.
As shown in Figure 3-3, objects that have attributes of types A and B are grouped into a
class called X. Objects that have attributes of types D and E are grouped into a class
called Y. Like the names for attribute types, X and Y are arbitrary names chosen for the
purpose of this example. They are not actual XAPIA class names.
Two of the objects in class X also have an attribute that is optional for that class, type C.
Most XAPIA classes have both optional and required attributes.
Each member of a class can be called an instance of that class. An object that does not
contain a required attribute for its class is called a malformed object.
In this example, objects of class X do not have any attributes that are also contained in
objects of class Y. In other words, object classes X and Y do not have any attributes in
common. However, some XAPIA classes actually do have attributes in common.
Objects and X.400 Messages
To the client, objects represent X.400 messages or their parts. Depending on the
complexity of the information involved, an object representation might have several
levels. This is best illustrated by an example. Consider, for instance, a message with
interpersonal message (IPM) content. Figure 3-4 shows one possible first level root
object representation of such a message.
Figure 3-3. Object Classes
303CDT .CDD
Attribute Type A
Attribute Type B
Attribute Type C
OBJECT
Attribute Type A
Attribute Type B
Attribute Type C
OBJECT
Attribute Type A
Attribute Type B
OBJECT
o
o
Class X
Attribute Type D
Attribute Type E
OBJECT
Attribute Type D
Attribute Type E
OBJECT
Class Y
Legend
o
optional for this class