DocBook|Search
Class Reference
%Library.CacheObject
   
Server:basexml
Instance:SOAXML
User:UnknownUser
 
-
  [BASEXML] >  [%Library] >  [CacheObject]
Private  Storage  

class %Library.CacheObject extends %CacheLiteral

Property superclass for object values, for internal use only

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 10


Summary

Methods
Compute Get GetObject GetObjectId GetSwizzled
IsEmpty IsValid NewObject Set SetObject
SetObjectId

Subclasses
%Library.CacheCollection %Library.CacheRelationship %Library.CacheStream

Parameters

• parameter CLASSNAME = 0;
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)

Methods

• method Get() as %CacheString
Returns an oref, performing swizzling if necessary it returns "" ($$$NULLOREF) if there is no oref and the id=""
• method GetObject(force As %Integer = 0) as %ObjectIdentity
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
• method GetObjectId(force As %Integer = 0) as %String
Stores simply calls GetObject() with decomposes Oid into Id
• method GetSwizzled() as %RegisteredObject
Returns an oref, performing swizzling if necessary it returns "" ($$$NULLOREF) if there is no oref and the id=""
• method IsEmpty() as %Integer
Can be used to test whether an embedded object is in NULL state exists for embedded object only, not for persistent objects
• method NewObject() as %ObjectHandle
Creates a new object for the referenced property
• method Set(newvalue As %CacheString) as %Status
Set the property to an oref value if the new oref is different from an old oref, the old object is closed
• method SetObject(newvalue As %ObjectIdentity) as %Status
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.
• method SetObjectId(newid As %String) as %Status
Stores simply calls SetObject() with constructed Oid