This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

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


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

SQL Table Name: EnsLib_RecordMap.ComplexChild

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.

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

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.
Property methods: %ParentRefsDisplayToLogical(), %ParentRefsGet(), %ParentRefsIsValid(), %ParentRefsLoad(), %ParentRefsLogicalToDisplay(), %ParentRefsLogicalToOdbc(), %ParentRefsNormalize(), %ParentRefsSet()

Methods (Including Private)

classmethod %IsReferenced(pID As %String) as %Boolean
Indicate whether any references exist for a given child ID.
private method %OnOpen() as %Status
Populate %ParentRefs when the object is opened.
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.

Inherited Members

Inherited Methods (Including Private)


FeedbackOpens in a new window