abstract class %Library.GUIDThis class implements utility methods for GUIDs.
Method Inventory (Including Private)
parameter GUIDENABLED = 1;
classmethod %FindGUID(pClassName As %String(MAXLEN=""), pID As %Binary) as %String [ Language = objectscript ]
%FindGUID() attempts to locate the GUID of object for which we do not know the most specific type class. This can happen when resolving the ID for an object that has been deleted, as sometimes occurs when dealing with objects retrieved from the system journal for the purpose of synchronizing with another system. This method assumes that the normal GUID resolution has failed and that if another object of a different MSTC exists within the same root extent then it is the same object (same GUID). For example, class A is persistent and it has two sub classes - B and C. An instance of B is created and assigned a GUID. At some future time, that instance of B is deleted and recreated as an instance of C using the same ID value. The premise of %FindGUID is that the object having an OID of (id,"B") is the same object as that with an OID of (id,"C").
classmethod %GUIDGetLastOp(guid As %String, ByRef num As %String) as %RawString [ Language = objectscript ]
classmethod %GUIDGetNextOp(guid As %String, ByRef num As %String) as %RawString [ Language = objectscript ]
classmethod AssignGUID(class As %String, nOutput As %Integer = 0) as %Status [ Language = objectscript ]
This method will assign a GUID to all objects that don't already have one.
classmethod Filter(guid As %String, FilterObject As %RegisteredObject = "", trn As %Integer) as %Integer [ Language = objectscript ]
This method should be implemented by the user. This method is invoked by %SYNC.SyncSet.AddJournaledObject when the Filter is not null. Non zero return value means that the object should be excluded