InterSystems IRIS Data Platform 2020.4 > Class Reference > %SYS namespace > %Studio.ClassMgr


class %Studio.ClassMgr

This class is used internally by InterSystems IRIS. 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.

Method Inventory (Including Private)

Methods (Including Private)

classmethod Check() as %Status [ Language = objectscript ]
Perform basic checks we are allowed to proceed
classmethod ClassList(Hash As %String(MAXLEN=""), Output List As %Stream.GlobalCharacter, Output Lengths As %String(MAXLEN="")) as %Status [ Language = objectscript ]
Return a list of all classes available in this namespace, it is passed the client hash value in the format $$$SLB(name)_$$$SLB(hash)_$$$SLB(name2)_$$$SLB(hash2). This checks each of the named regions and if they are all identical then it returns with a null stream in List. If any of the regions has changed then we will resend all the classes in this region in the format:
Where data is of the form:
Where row is of the form:
$$$SLB(classname)_$$$SLB(timestamp)_$$SLB(superclass)_$$$SLB(classtype defined)_$$$SLB(classtype)_$$$SLB(system)_$$$SLB(hidden)_$$$SLB(abstract)_$$$SLB(import)
To tell the client to remove a named block from its cache we will send the hash=-1 for this i.e.
So the hash is "" and the block is terminated with $$$SLB("") as per normal. Note that the last block is also terminated with $$$SLB(""). The lengths of the various block is returned in Lengths which is an output argument. This is a comma separated list of length in characters of the stream data. This can be used to quickly divide the stream into pieces on the client.
classmethod Delete(class As %String(MAXLEN=256)) as %Status [ Language = objectscript ]
classmethod GetDefinition(class As %String(MAXLEN=256), Output definition As %Stream.GlobalCharacter, Output Hash As %String(MAXLEN="")) as %Status [ Language = objectscript ]
Return the entire class definition in the stream defintion property
classmethod GetMacroInf(macroname As %String(MAXLEN=512), arg As %String(MAXLEN=512), arglist As %String(MAXLEN=1024), ByRef signature As %String(MAXLEN=512), ByRef location As %String(MAXLEN=512), ByRef definition As %String(MAXLEN=512), ByRef expansion As %String(MAXLEN=512)) [ Language = objectscript ]
Return information about this macro If arglist is not defined ($d(arglist)=0) then it does not return the expansion
classmethod GetSchema(schemaspec As %String(MAXLEN=256), ByRef definition As %Stream.GlobalBinary) as %Status [ Language = objectscript ]
classmethod GetSpecialListByStream(kind As %String, param As %String, ByRef result As %Stream.GlobalBinary) as %Status [ Language = objectscript ]
classmethod IsClassnameConflict(class As %String(MAXLEN=256)) as %Status [ Language = objectscript ]
Check if there is a class name conflict
classmethod Lock(class As %String(MAXLEN=256)) as %Status [ Language = objectscript ]
Lock the class for editing
classmethod MacroListClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod MacroListExecute(ByRef qHandle As %Binary, arg As %String(MAXLEN=512), ByRef clienthash As %String(MAXLEN=128), Output Reload As %Boolean) as %Status [ Language = objectscript ]
classmethod MacroListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
classmethod OnOpenClass(class As %String(MAXLEN=256), Output modified As %Boolean) as %Status [ Language = objectscript ]
Call the OnBeforeLoad/OnAfterLoad source control events for this class return true if the class is modified and false if it is not
classmethod SaveDefinition(ByRef definition As %Stream.GlobalCharacter, Hash As %String(MAXLEN=""), Output List As %Stream.GlobalCharacter, Output Lengths As %String(MAXLEN="")) as %Status [ Language = objectscript ]
Passed a class definition in stream definition this is saved
classmethod Timestamp(class As %String(MAXLEN=256), ByRef timemodified As %TimeStamp, ByRef timecompiled As %TimeStamp) as %Status [ Language = objectscript ]
Return the timestamp a class was last modified and last compiled
classmethod UnLock(class As %String(MAXLEN=256)) as %Status [ Language = objectscript ]
Unlock the class


query MacroList(arg As %String(MAXLEN=512), ByRef clienthash As %String(MAXLEN=128), Output Reload As %Boolean)
Selects Name As %String(MAXLEN=512)
Return list of macros