The DMA base class.
Class ID: dmaClass_DMA
Superclass: None
Name | Impl. Required | System Gen'ed | Read-Only |
Value Required | Type | Cardinality | Required Class |
- |
Yes | Yes | - | String | Scalar |
| |
Yes |
Yes | Yes | Yes | Object | Scalar | Class Description | |
- |
Yes | Yes | Yes | Object | Scalar | DMA | |
- |
Yes | Yes | Yes | Boolean | Scalar |
| |
- |
Yes | Yes | Yes | Boolean | Scalar |
| |
- |
Yes | Yes | Yes | Boolean | Scalar |
|
The ultimate superclass of all DMA classes.
The Object ID, Create Flag, Update Flag and Delete Flag properties introduced here should only be implemented in subclasses which represent independently persistable objects.
• OIID {dmaProp_OIID}
This property is the unique instance Id of this particular object.
• Class Description {dmaProp_ClassDescription}
The Class Description object describing this object's class.
This property provides access from this object to the descriptive information about the class of this object.
• This {dmaProp_This}
A synthetic, object-valued property that has as its implicit value the DMA object itself. It's primary purpose is to enable the expression of relationships among objects in DMA queries and to select candidate objects in query results.
This object-valued property is an exception to the general rules for the by-reference behavior of object-valued properties. When the property is supported by an object, the behavior of
rc = pMyObjectProperties -> GetPropValObjectById(&dmaProp_This, riid, ppIObjectValue)
is equivalent to that of the preferable, always-supported operation
rc = pMyObjectProperties -> QueryInterface(riid, ppIObjectValue)
Using a DMA object’s IdmaProperties interface, the property behaves as if it is always bound and has nothing to do with any persistent object associated with the DMA object. Refreshing and other operations between a scratchpad object and a persistent object have no impact whatsoever on the This property of a DMA object.
[ In every class description for a DMA Object inherited from the dmaClass_DMA class, the Required Class of Object restriction is always to the very class being described. In addition, proper subclasses of that class will never occur. This is part of the system-generated quality of dmaProp_This properties. ]
• Create Pending {dmaProp_CreatePending}
If set, this flag indicates to ExecuteChange and ExecuteChanges that the current scratchpad object is to be created as a new persistent object.
• Update Pending {dmaProp_UpdatePending}
If set, this flag indicates to ExecuteChange and ExecuteChanges that the current object is already persistent, and its properties are to be modified.
• Delete Pending {dmaProp_DeletePending}
If set, this flag indicates to ExecuteChange and ExecuteChanges that the current object is already persistent, and is to be deleted.