DMA Object Reference Column Descriptions
The class summary table describes the characteristics of DMA classes. Each column describes a particular characteristic. Column definitions are as given below. The class summary table has one row for each class defined by the DMA specification:
- Class Id
The value of this column is the name of the DMA class Id variable. The class Id variables are declared in DMA header files, and they are statically initialized variables of type DmaId. NOTE: The name of the class Id variable is formed from the class name by discarding embedded blanks and prefixing the result with "dmaClass".
- Superclass
The classes of DMA (including both the classes defined in the DMA specification and the classes defined by a particular Document Space) are organized into a single inheritance hierarchy. The value of this column is the name of the immediate superclass of the class being described. The root class of the hierarchy is DMA, and it is the only class that does not have a (unique) superclass.
The detailed description of each DMA class begins by repeating the class attributes described in the preceding paragraph. The detailed description of each DMA class also includes a property summary table. The property summary table has a row per property that summarizes a certain set of characteristics of the properties of the class. The following are the meanings of the column headings in the property summary table:
- Name
The value of this column is the name of the property. NOTE: A detailed description of each property follows the property summary table. The descriptive text for each property begins with a bold face heading composed of the property name followed by the name of the property Id variable. As with the class Id variable's, the property Id variables are declared in DMA header files, and they are statically initialized variables of type DmaId. The property Id variable name is formed from the property name by discarding embedded blanks and prefixing the result with "dmaProp_".
- Impl. Required
If the value of this column is "Yes", then all implementations of the DMA API must implement this property, and there must be an element in the Property Description List of the Class Description object for the property. Otherwise, the property is part of an optional feature (e.g., versioning or containment). If the optional feature involving the property is not implemented, then there must be no element for the property in the Property Description List of the Class Description object for the class (if the Class Description exists). Conversely, if the optional (or required) feature is implemented, then there must be an element in the Property Description List of the Class Description object for the class.
- System Gen'ed
If the value of this column is "Yes", then the value of this property is generated by the implementation of the DMA API as a side effect of some DMA method call.
- Read-Only
If the value of this column is "Yes", then the client can not set the value of the property directly using the IdmaEditProperties interface.
- Value Required
If the value of this column is "Yes", then the property must have a legal value, assuming the property is supported by the implementation. If the property is a list or an enumeration, "having a legal value" means that the list or enumeration (which must be present as the value of the property in all circumstances) must contain at least one element. NOTE: When an attempt is made to obtain the value of a property (via a method in the IdmaProperties interface) that is currently not set to a legal value, a DMARC_VALUE_NOT_SET error is returned. A property can have its value removed (i.e., nulled out) by calling DeletePropValByID or DeletePropValByIndex in the IdmaEditProperties interface. It is possible that "Impl. Required" is not "Yes", but "Value Required" is "Yes". This can happen if the property is part of an optional feature, because "Yes" for "Value Required" assumes that the feature is supported by the implementation involved.
- Type
The value of this column is the base datatype of the property. The possible base datatypes are Integer32, Float64, String, Binary, Boolean, DateTime, ID, and Object. There are macros in the DMA header files for each of the base data types.
- Cardinality
The value of this column indicates whether the value of the property is a "Scalar", "List", or "Enumeration". NOTE: A single instance of a value of type String, Binary (i.e., array of bytes), DateTime, or Id is considered to be a Scalar.
- Required Class
If the base datatype is "Object", then the value of this column designates a class such that the object must be of that class or one of its subclasses. NOTE: If the class of the object is not constrained, then the value of this column is "DMA", which indicates the DMA base class, DMA. If the base datatype is not "Object", then there is no value for this column, since any value would be meaningless.