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).
A logical value determines if classnames of referenced properties are stored.
0 - store only the ID;
1 - store the two element form of the OID
2 - store the three element form of the OID (applies only to streams currently)
Obtains the state/id of the referenced object
if swizzling has not occurred, it simply returns the stored
state else it references the specified object
force = an optional parameter, if its value is 1 then if the
referenced object is an ID object it must return its ID,
which may force it to file itself.
no code for this method if the property is a datatype
Returns an oref, performing swizzling if necessary it returns "" ($$$NULLOREF) if there is no oref and the id="".
If noswizzle is passed as true then this will just return the current value for the property, so if it
has been swizzled already then it will return the oref, if it has not been swizzled it will return "" ($$$NULLOREF).
Stores a new value for the OID of the referenced
object. if swizzling has not occurred, it simply stores the
OID (after perhaps stripping the class name if CLASSNAME=0).
if swizzling has occurred, then it references the object to
obtain its OID. If it is the same, then nothing happens.
If they are different then the old object is closed and the
new OID is stored.