Skip to main content

%Library.SystemBase

Class %Library.SystemBase [ ClassType = donotuse ]

Base superclass. For internal use only, this is automatically added to all classes as a superclass.

Methods

%New

ClassMethod %New(initvalue As %RawString) As %ObjectHandle [ Final ]

Creates a new instance of object in memory. %New creates an OREF value that refers to the object instance, registers the OREF with the system along with its class name, and reserves system storage for the properties.

%New initializes all the object's properties to their default values and calls the user-provided method, %OnNew, if it is present. The optional arguments are passed on to the %OnNew method. If the object is persistent, its OID is set to null string (""). %New returns an OREF value that refers to the new object instance or $$$NULLOREF if unable to create the object instance.

%SetModified

Method %SetModified(value As %Integer) As %Status [ ServerOnly = 1 ]

Setting the modified state of the object.

%IncrementCount

Method %IncrementCount() As %Integer [ Deprecated, Final, Internal, ServerOnly = 0 ]

This method is deprecated as reference counting is handled automatically by the system. This is now a no-op and just returns a success code. objects is now handled by the system automatically

%Close

Method %Close() As %Status [ Deprecated, Final, Internal, ServerOnly = 1 ]

This method is deprecated because we now reference count objects automatically so there is no need to call this method. It is a no-op and just returns success %Status code.

%ClassName

ClassMethod %ClassName(fullname As %Boolean) As %String [ ServerOnly = 0 ]

Returns the object's class name. The fullname determines how the class name is represented. If it is 1 then it returns the full class name including any package qualifier. If it is 0 (the default) then it returns the name of the class without the package, this is mainly for backward compatibility with the pre-package behaviour of %ClassName.

%PackageName

ClassMethod %PackageName() As %String [ Final, ServerOnly = 1 ]

Returns the object's package name.

%GetParameter

ClassMethod %GetParameter(paramname As %String = "") As %String [ Final, ServerOnly = 1 ]

This method returns the value of a class parameter at runtime

%IsA

ClassMethod %IsA(isclass As %String) As %Integer [ ServerOnly = 0 ]

Returns true (1) if instances of this class are also instances of the isclass parameter. That is 'isclass' is a primary superclass of this object.

%Extends

ClassMethod %Extends(isclass As %String) As %Integer [ ServerOnly = 1 ]

Returns true (1) if this class is inherited either via primary or secondary inheritance from 'isclass'.

%OriginalNamespace

ClassMethod %OriginalNamespace() As %String [ ServerOnly = 1 ]

Return the namespace this oref was created in. This also returns the namespace this class was first referenced in if calling class methods.

%ClassIsLatestVersion

ClassMethod %ClassIsLatestVersion() As %Boolean [ ServerOnly = 1 ]

Return true if this instance is the latest version of this class, and false if the class has been recompiled so there is a newer version on disk

%DispatchMethod

Method %DispatchMethod(Method As %String, Args...) [ Abstract, ServerOnly = 1 ]

Is used to implement an unknown method call. It is also used to resolve an unknown multidimensional property reference (to get the value of a property) because that syntax is identical to a method call.

%DispatchClassMethod

ClassMethod %DispatchClassMethod(Class As %String, Method As %String, Args...) [ Abstract, ServerOnly = 1 ]

Is used to implement an unknown class method call

%DispatchGetProperty

Method %DispatchGetProperty(Property As %String) [ Abstract, ServerOnly = 1 ]

Is used to get the value of an unknown property.

%DispatchSetProperty

Method %DispatchSetProperty(Property As %String, Val) [ Abstract, ServerOnly = 1 ]

is used to set the value of an unknown property.

%DispatchSetMultidimProperty

Method %DispatchSetMultidimProperty(Property As %String, Val, Subs...) [ Abstract, ServerOnly = 1 ]

Is used to set the value of an unknown multidimensional property.

%DispatchGetModified

Method %DispatchGetModified(Property As %String) [ Abstract, ServerOnly = 1 ]

Is used to get the value of the modified flag for an unknown property.

%DispatchSetModified

Method %DispatchSetModified(Property As %String, Val) [ Abstract, ServerOnly = 1 ]

Is used to set the value of the modified flag for an unknown property.