Skip to main content

%Library.GUID

abstract class %Library.GUID

This class implements utility methods for GUIDs.

Method Inventory

Parameters

parameter GUIDENABLED = 1;

Methods

classmethod %FindGUID(pClassName As %String(MAXLEN=""), pID As %Binary) as %String
%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 %GUIDFind(guid As %String) as %CacheString
classmethod %GUIDGetLastOp(guid As %String, ByRef num As %String) as %CacheString
classmethod %GUIDGetNextOp(guid As %String, ByRef num As %String) as %CacheString
classmethod AssignGUID(class As %String, nOutput As %Integer = 0) as %Status
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
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
FeedbackOpens in a new tab