Home > Class Reference > %SYS namespace > %Studio.ClassMgr
Private  Storage   

%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.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
16 1


Summary


Methods
Check ClassList Delete GetDefinition
GetMacroInf GetSchema GetSpecialListByStream IsClassnameConflict
Lock MacroListClose MacroListExecute MacroListFetch
OnOpenClass SaveDefinition Timestamp UnLock


Methods


• classmethod Check() as %Status
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
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:
$$SLB(name)_$$$SLB(hash)_data_$$$SLB("")_$$$SLB(name2)_$$$SLB(hash2)_data2_$$$SLB("")
Where data is of the form:
$$$SLB(row)_$$$SLB(nextrow)_...
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.
$$$SLB(name)_$$$SLB("")_$$$SLB("")_nextblock
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
• classmethod GetDefinition(class As %String(MAXLEN=256), Output definition As %Stream.GlobalCharacter, Output Hash As %String(MAXLEN="")) as %Status
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))
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
• classmethod GetSpecialListByStream(kind As %String, param As %String, ByRef result As %Stream.GlobalBinary) as %Status
• classmethod IsClassnameConflict(class As %String(MAXLEN=256)) as %Status
Check if there is a class name conflict
• classmethod Lock(class As %String(MAXLEN=256)) as %Status
Lock the class for editing
• classmethod MacroListClose(ByRef qHandle As %Binary) as %Status
• classmethod MacroListExecute(ByRef qHandle As %Binary, arg As %String(MAXLEN=512), ByRef clienthash As %String(MAXLEN=128), Output Reload As %Boolean) as %Status
• classmethod MacroListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod OnOpenClass(class As %String(MAXLEN=256), Output modified As %Boolean) as %Status
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
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
Return the timestamp a class was last modified and last compiled
• classmethod UnLock(class As %String(MAXLEN=256)) as %Status
Unlock the class

Queries


• 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