Registered relationship class for relationship cardinalities many and children.
Instances of this class are used by n-cardinality relationships to manage objects
currently related to the container object and also to manage the objects whose
relationship with the container object has been removed. Related objects are loaded
into this object using a query-like interface that is implemented by the inverse
relationship. The order in which related objects are loaded is neither guaranteed or
maintained as objects are related or unrelated.
This class is used internally by Caché. You should not make direct
use of it within your applications. There is no guarantee made about either
the behavior or future operation of this class.
This parameter determines how the collection object stores OID values.
If this parameter is set to 0, then partially-formed OID values (containing only an ID number)
are used. If this parameter is set to 1, then fully-formed OID values (containing both a class
name and an ID number) are used.
parameter ELEMENTTYPE = %ObjectHandle;
The type (class name) of the elements stored in the collection.
parameter INVERSEPERSISTENT = 0;
parameter INVERSEPROPERTY;
parameter PERSISTENT = 0;
Properties (Including Private)
property Cardinality as %CacheString [ InitialExpression = ..#CARDINALITY ];
The property name of the inverse relationship in the related class.
Overrides %SerialObject implementation. Scans objects for modifications in the related list (Element)
and the terminated relationship list (DeleteOref). Modified/Scheduled to delete objects are added to
the save graph.
Inherited description: This callback method is invoked by the %ConstructClone() method to
provide notification that a clone of an object is being created. It passes in the
oref of the object that was cloned in object.
If this method returns an error then the object will not be created.
private method %OnNew(initvalue As %String = "") as %Status
%New callback - initializes ElementType, Cardinality, InverseProperty and InverseReference from initvalue parameter.
This method retrieves all of the serial values for referenced objects and places them into the instance variables
and then validates, normalizes, and serializes the object (with a save of the persistent image if persistent).
private method %SetSerial(initvalue As %String) as %Status
Starting from, but not including, position key, FindObject finds
the next element in the list whose ID value equals the id from oid ($$$oidPrimary is the id).
If key is a null string, FindObject starts at the beginning
of the list.
FindObject returns the position of the found element or
null string ("") if no element was found.
Starting from, but not including, position key, FindObjectId finds
the next element in the list whose ID value equals id.
If key is a null string, FindObjectId starts at the beginning
of the list.
FindObjectId returns the position of the found element or
null string ("") if no element was found.
Starting from, but not including, location key,
finds the next element in the array whose Oref value equals oref.
If key is a null string (""), the search starts at the beginning of the array.
FindOref returns the key associated with the found element or null string ("") if no element is found.
Unswizzled references are compared to oref.%Oid() and if equal, swizzling will occur.
Finds and returns the OID value referring to the object at the position after key
in the list. If key is a null string (""), it returns
the OID value of the first element in the list.
The value of key, which is passed by reference, is updated to the position
value of the returned element or the null OID if key is at the end of the list.
Finds and returns the OREF value referring to the object at the position after key
in the list. If key is a null string (""), it returns
the OREF value of the first element in the list.
The value of key, which is passed by reference, is updated to the position
value of the returned element or null string ("") if key
is at the end of the list.
Finds and returns the ID value of the element at the location after key
in the array. If key is a null string (""), it returns
the ID value of the first element in the array.
The value of key, which is passed by reference, is updated to the key
value of the returned element or null string ("") if key is at the end of the array.
method GetObjectIdPrevious(ByRef key As %String) as %String
Finds and returns the ID value of the element at the location before key
in the array. If key is a null string (""), it returns
the ID value of the last element in the array.
The value of key, which is passed by reference, is updated to the key
value of the returned element or null string ("") if key is at the beginning of the array.
Finds and returns the OID value referring to the object at the position after key
in the list. If key is a null string (""), it returns
the OID value of the first element in the list.
The value of key, which is passed by reference, is updated to the position
value of the returned element or the null OID if key is at the end of the list.
Finds and returns the OID value referring to the object at the position before key
in the list. If key is a null string (""), it returns
the OID value of the last element in the list.
The value of key, which is passed by reference, is updated to the position
value of the returned element or the null OID if key is at the beginning of the list.
This method is used internally by Caché. You should not make direct
use of it within your applications. There is no guarantee made about either
the behavior or future operation of this method.
Finds and returns the OREF at position key in the list without
automatically swizzling the object. Returns $$$NULLOREF if no element is found or if
the referenced object hasn't been swizzled.
Finds and returns the OREF value referring to the object at the position before key
in the list. If key is a null string (""), it returns
the OREF value of the last element in the list.
The value of key, which is passed by reference, is updated to the position
value of the returned element or the null OREF if key is at the beginning of the list.
Returns true if this collection is empty.
To get better performance, if the contents of the collection are not already loaded, then this will run a minimal query
to determine if the collection is empty, and will not actually load the contents.
Finds and returns the key value of the element at the location following key in the array.
If key is a null string (""), then Next returns the key value for the first element in the array.
Finds and returns the key value of the element at the location preceding key in the array.
If key is a null string (""), then Previous returns the key value for the last element in the array.