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.
This is a wrapper class used by Studio to manipulate routines.
Used to provide autocomplete in the open dialog, you pass in the name the user
has entered and the mask which is the current pattern mask and it will return
null if it can not find a match or the next name that does match.
Calculates the names of all documents that are not up-to-date with their compiled code and returns their names as a subscripted array.
pDocumentList - A subscripted array of document names with the format pDocumentList("User.Test.cls")="". Can be used as the first argument to $SYSTEM.OBJ.CompileList().
pSpec - Check documents that match this spec. May contain both * and ? as wildcards.
It may also consist of more than one, comma-delimited selections. If you wish to exclude items
then prefix the pattern with ' symbol.
pSystem - Check system documents.
pGenerated - Check generated documents.
pMapped - Check documents that are mapped from another code database.
Return the timestamp for this item.
Also returns two output parameters compiletime is the time when this item was compiled, or null if not compiled.
uptodate returns true if the named document is up to date with the compiled version, and false if the named
document has been modified but not compiled, or a compiled subitem has been modified.
Given a comma separated list of filename this will return
a list of the items that are in these filenames. Along with the name
of each item it will also return the timestamp of the item if it is
present in InterSystems IRIS already, and -1 if the item is not present. This allows
you to decide if you wish to import this item and overwrite the existing
item in InterSystems IRIS.
This query is used by the Studio open dialog to provide a list of the types
that can be opened. It will list all the items that match the Spec
ordered by the OrderBy.
The Dir specifies the direction to search in, 1 is
in ascending order (the default) and -1 is in descending order.
Spec may contain both * and ? as wildcards. It may also
consist of more than one, comma-delimited selections. If you wish to exclude items
then prefix the pattern with ' symbol.
OrderBy is one of:
1 - Name of the file (the default), case insensitive
2 - Date/Time the file was saved
3 - Size of the file
4 - Type of the file ie. INT, MAC, INC, BAS, MVB
5 - Name of the file sorted case sensitively
The query returns the name of the item, a delimiter to use to constructing paths with
this item, if not specified it defaults to '.'. For example if the
delimiter is '.' and you put in the pattern 'package/*' then when you select this
a directory it should change the selection to 'package.newpackage/*'. Note that
it always assumes that there is a '/' after the directory before the pattern, so
for a CSP application where the delimiter returned is '/' if the spec was
'/csp/samples/*' and you click on a directory 'cinema' you should construct the
The type of the item which can be one of:
0 - MAC file, a routine containing macros
1 - INT file, a standard routine
2 - INC file, an include file
3 - BAS file, a Cache Basic routine
4 - CLS, a class
5 - CSP, a Cache Server Page or another file in this directory
7 - GBL, a Global
8 - PRJ, a Project
9 - a Package
10 - a CSP application
11 - MVB file, a MultiValue Basic macro routine
12 - MVI file, a MultiValue Basic routine
13 - OBJ, object code
Further numbers are reserved for future use.
It also returns the routine size and the date it was last saved.
The SystemFiles is true the results will include '%' items and INFORMATION.SCHEMA items in the search. If false (the default), results will only include non-percent items and no INFORMATION.SCHEMA items.
If Flat is true then it does not display directories but displays everything at the root level.
If NotStudio is true then it will display globals and OBJ routines as well, for Studio we exclude these types.
The ShowGenerated controls if this query includes items that are generated from another item, such as INT code that is generated from a class compilation.
The Filter if specified allows additional restrictions on the items being returned by specifying the WHERE clause of an SQL statement on the
%Studio.OpenDialogItems, refer to this for a list of fields that can be referenced.