GlobalList (PersistentObjectInfo function)

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Get list of global objects (PersistentObjectInfo class)

[Introduced in Sirius Mods 7.8]


Syntax

%persObjList = %(PersistentObjectInfo):GlobalList[( [matchString])]

Syntax terms

%persObjListAn Arraylist of Object PersistentObjectInfo object variable.
%(PersistentObjectInfo) The class name in parentheses denotes a shared method. GlobalList can also be invoked via a PersistentObjectInfo object variable, which may be Null.
matchString An optional, case-sensitive, pattern-matching string that identifies the name(s) of the global(s) whose information is to be returned to %persObjList. The default if no string is provided is to return information of all global objects.

Usage notes

  • GlobalList is also a shared method in the Object class. This means that both of these statements are valid:

    %persInfoList = %(persistentObjectInfo):globalList %persInfoList = %(object):globalList

  • As a coding convenience, the PersistentObjectInfoList type is defined as an "Arraylist of Object PersistentObjectInfo". Consequently, instead of a declaration like this one:

    %persInfoList is arraylist of object persistentObjectInfo

    You can simply specify:

    %persInfoList is type persistentObjectInfoList

    Note: The keyword Type is required.

Examples

  1. In the following example, GlobalList is invoked with no explicit parameter:

    b %i is float %persInfoList is arraylist of object persistentObjectInfo %sl is object stringlist %sl2 is object stringlist %sl = list('alpha', 'beta', 'ceta') %sl2 = list('one', 'two', 'three') %(Object):SetGlobal('ABC', %sl) %(Object):SetGlobal('NUM', %sl2) %persInfoList = %(persistentObjectInfo):globalList for %i from 1 to %persInfoList:count printText *** {~} = {%i}, {~} = {%persInfoList(%i):name}, {~} = {%persInfoList(%i):classDescription} end for end

    The result, assuming no globals have been set prior to this request, is:

    %i = 1, %persInfoList(%i):name = ABC, %persInfo:classDescription = System:Stringlist %i = 2, %persInfoList(%i):name = NUM, %persInfo:classDescription = System:Stringlist

  2. The following statement uses the Name method to sort by name the contents of the Arraylist returned by GlobalList:

    %persInfoList = %(persistentObjectInfo):globalList:sortNew(descending(name))

    Applied to the %persInfoList in the preceding example, the result is:

    %i = 1, %persInfoList(%i):name = NUM, %persInfoList(%i):classDescription = System:Stringlist %i = 2, %persInfoList(%i):name = ABC, %persInfoList(%i):classDescription = System:Stringlist

    As stated in the "Usage notes" above, GlobalList is also a member of the Object class. The SortNew statement in this example could also be specified as follows to get the same result:

    %persInfoList = %(Object):globalList:sortNew(descending(name))

See also