Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [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.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 6


Summary

Properties
%ParentRefs

Methods
%AddToSaveSet %AddToSyncSet %BuildIndices %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 %ValidateObject

Subclasses
EnsLib.RecordMap.ComplexSequence

Properties

• 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.

Methods

• 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.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.