Skip to main content

%ZEN.FinderUtils

class %ZEN.FinderUtils extends %Library.RegisteredObject

This class contains methods that can be used to provide contents for the %ZEN.ComponentEx.finderPane component.

Method Inventory

Parameters

parameter DOMAIN = %ZEN;

Methods

classmethod %GetArrayForNamespaces(ByRef pParameters, Output pMetaData, Output pData) as %Status
This method returns array of namespaces for finderDialog
classmethod %GetArrayForQuery(pQueryClass As %String, pQueryName As %String, pColumns As %List, pDelim As %String = ".", ByRef pParameters, Output pMetaData, Output pData) as %Status
Execute the given class query and return the results in an array that can be used by the finder.
The query must return the following data:
"name" - name of the item.
"value" - id of the item.
"type" - type (extension) of the item.
"date" - last modified date of the item.
pColumns is a $List containing the names of the columns that supply the above data: $LB(name,value,type,date).
pDelim is the delimiter used to separate the name into groups.
The search criteria are passed in the array pParameters. These include:
pParameters("sort") -- this can be "name" or "date", default is "name"
(refer to the %GetClassListArray() for details on "sort").
classmethod %GetClassListArray(ByRef pParameters, Output pMetaData, Output pData) as %Status
Search for classes that match the input criteria and return them in an array that can be used by the finder.
The search criteria are passed in the array pParameters. These include:
pParameters("sub") -- include all subclasses of this class, but not the class itself
pParameters("super") -- include this class and all subclasses
pParameters("search") -- only return items that include this as (any) part of the name
-- the search is case-insensitive
pParameters("system") -- 1 : only find classes whose System flag is set
-- 0 : only find classes whose System flag is off
-- otherwise : no filter on system flag
pParameters("percent") -- 1 : only find classes whose name starts with %
-- 0 : only find classes whose name does not start with %
-- otherwise : no filter on percent flag
pParameters("product") -- 1 : only find classes that are mapped to a product database, e.g. ENSLIB
-- 0 : only find classes that are not mapped to a product database
-- otherwise : no filter on product flag
pParameters("generated") -- 1 : only find classes that are generated
-- 0 : only find classes that are not generated
-- otherwise : no filter on generated flag
pParameters("context") -- 1 : only find classes that are either persistent, serial, or datatype, no other classtypes
-- 0 : only find classes that are not persistent, serial, or datatype
-- otherwise : no filter on generated flag. note: the value of "context" overrides "persistent" and/or "datatype"
pParameters("abstract") -- 1 : include abstract classes
-- 0 : skip abstract classes
-- otherwise : no filter on abstract flag
pParameters("persistent") -- 1 : only find classes whose classtype is persistent
-- 0 : only find classes whose classtype is not persistent
-- otherwise : no filter on classtype being persistent
pParameters("datatype") -- 1 : only find classes whose classtype is datatype
-- 0 : only find classes whose classtype is not datatype
-- otherwise : no filter on classtype being datatype
pParameters("production") -- 1 : only find Ensemble Production classes
-- otherwise : no filter on class being a Production
pParameters("sort") -- this can be "name" or "date" or "namecasesensitive", default is "name"
  • "name":
    Return the array organized by names (case-insensitive sort!).
    This list should be hierarchical by package.
  • "date":
    Return items by last modified date (and do not split by package).
    Organize dates into the following buckets:
    • "Today"
    • "Yesterday" (option)
    • "Earlier this week" (option)
    • "Last Week" (the closest Sunday to Saturday period that does not contain Today)
    • "Older than last week"
    Within each bucket have one level (with complete class name) ordered by modified date.
  • "namecasesensitive":
    Return the array organized by names allowing for case-sensitivity.
    This list should be hierarchical by name.
classmethod %GetQueryListArray(ByRef pParameters, Output pMetaData, Output pData) as %Status
Search stored procedures for routine that return result sets and can be used as data source for automated queries and return them in an array that can be used by the finder.
classmethod %GetViewListArray(ByRef pParameters, Output pMetaData, Output pData) as %Status
Search stored views for routine that return result sets and can be used as data source for automated queries and return them in an array that can be used by the finder.
classmethod evaluateExpression(pExpression, %pOneRow)
classmethod mactime(pDateTime As %String = "") as %String
classmethod sortData(pInputData, %pOutputData, pSort, pDelim)

Inherited Members

Inherited Methods

FeedbackOpens in a new tab