Home > Class Reference > ENSLIB namespace > EnsLib.RecordMap.ComplexChild
Private  Storage   


abstract persistent class EnsLib.RecordMap.ComplexChild extends %Persistent, EnsLib.RecordMap.ComplexBase

Class to implement the behaviour for objects that will be referenced by extensions of EnsLib.RecordMap.ComplexParent, primarily EnsLib.RecordMap.ComplexBatch and EnsLib.RecordMap.ComplexSequence. The main work done here in the various generator methods is to use the "%%ParentRefs" subscript of the main storage node to maintain a list of references to this object. This list is used during the deletion of parents to determine whether this child can be removed.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 5



%AddToSaveSet %AddToSyncSet %BuildIndices %BuildIndicesAsync
%BuildIndicesAsyncResponse %CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone %Delete
%DeleteExtent %DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Exists %ExistsId %Extends
%GUID %GUIDSet %GetId %GetLock
%GetParameter %GetSwizzleObject %Id %IsA
%IsModified %IsNull %IsReferenced %KillExtent
%LockExtent %LockId %New %NormalizeObject
%ObjectIsNull %ObjectModified %Oid %OnBeforeAddToSync
%OnDetermineClass %Open %OpenId %OriginalNamespace
%PackageName %ParentAdd %ParentRefsLoad %ParentRemove
%ParentsClear %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SerializeObject %SetModified %SortBegin %SortEnd
%SyncObjectIn %SyncTransport %UnlockExtent %UnlockId



• property %ParentRefs as %String [ MultiDimensional ];
Array to contain an in-memory set of references to parent objects. The contents of this property can be reloaded by calling %ParentRefsLoad(). If no reloads are performed, the values reflected in this array are only true as of the time the object was loaded.


• classmethod %IsReferenced(pID As %String) as %Boolean
Indicate whether any references exist for a given child ID.
• classmethod %ParentAdd(pID As %String = "", pParentClass As %String = "", pParentId As %String = "") as %Status
Add a reference to the supplied parent from the specified child ID.
• method %ParentRefsLoad() as %Status
Load the data from the "%%ParentRefs" subnode into the %ParentRefs multidimensional property.
• classmethod %ParentRemove(pID As %String = "", pParentClass As %String = "", pParentId As %String = "") as %Status
If the supplied child ID contains a reference to the specified parent, remove the reference.
• classmethod %ParentsClear(pID As %String = "")
Remove all parent references for a given child ID.