property CalculatedResources as list of %ZHSLIB.PackageManager.Developer.ResourceReference (XMLIO = "OUT", XMLITEMNAME = "Resource", XMLNAME = "Resources", XMLPROJECTION = "WRAPPED", XMLREFERENCE = "COMPLETE") [ Calculated ];
Calculated property used for XML output of Resources relationship (in a reasonable order:
packages, classes, includes, globals, routines, CSP resources, then in alphabetical order within those categories).
method %Compile(ByRef qstruct As %String) as %Status [ Language = objectscript ]
private method %OnAddToSaveSet(depth As %Integer = 3, insert As %Integer = 0, callcount As %Integer = 0) as %Status [ Language = objectscript ]
This callback method is invoked when the current object is added to the SaveSet,
either because %Save() was invoked on this object or on an object that references this object.
%OnAddToSaveSet can modify the current object. It can also add other objects to the current
SaveSet by invoking %AddToSaveSet or remove objects by calling %RemoveFromSaveSet.
If this method returns an error status then %Save() will fail and the transaction
will be rolled back.
private method %OnNew() as %Status [ Language = objectscript ]
This callback method is invoked by the %New() method to
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call.
When customizing this method, override the arguments with whatever variables and types you expect to receive from %New().
For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status
If instead of returning a %Status code this returns an oref and this oref is a subclass of the current
class then this oref will be the one returned to the caller of %New method.
private method %OnOpen() as %Status [ Language = objectscript ]
This callback method is invoked by the %Open() method to
provide notification that the object specified by oid is being opened.
If this method returns an error then the object will not be opened.
private method %OnValidateObject() as %Status [ Language = objectscript ]
This callback method is invoked by the %ValidateObject() method to
provide notification that the current object is being validated.
Calls %CompareTo() on this object and also calls it on any relationships in the class
specifically Mappings and Resources.
classmethod ExecutePhases(pModuleName As %String, pPhases As %List, pIsComplete As %Boolean = 0, ByRef pParams) as %Status [ Language = objectscript ]
Execute multiple lifecycle phases in sequence. Execution is terminated if one fails.
Example: $ListBuild("Clean","Test") or $ListBuild("Test","Install")
@API.Method
method GetDefaultParameters(Output pParams) [ Language = objectscript ]
classmethod GetKnownDependencies(pModuleName As %String) as %List [ Language = objectscript ]
This method builds a list of any direct/indirect dependencies of the module named pModuleName in a breadth-first manner.
method GetResolvedReferences(Output pReferenceArray, pLockedDependencies As %Boolean = 0, pPhases As %List = "", pSkipDependencies As %Boolean = 0, ByRef pDependencyGraph) as %Status [ Language = objectscript ]
method GetStudioProject(Output pProject As %Studio.Project, pDeployedCode As %Boolean = "", pDefaultDeployedValue As %Boolean = "", pProjectSuffix As %String = "") as %Status [ Language = objectscript ]
By default (first byref argument only), creates a Studio project containing all of the module's resources.
If pDeployedCode is non-empty, only includes code that should be deployed (if true) or not deployed (if false).
pDefaultDeployedValue specifies the default behavior for resources with the Deploy attribute left null.
pProjectSuffix is appended to the project name (which defaults to the module name, with periods replaced by underscores).
The project suffix may be used (for example) to distinguish between projects for deployed and undeployed code.
private classmethod HasScope(pPhases As %List, pScope As %String) [ Language = objectscript ]
method IsLocked() as %Boolean [ Language = objectscript ]
classmethod Uninstall(pModuleName As %String, pForce As %Boolean = 0, pRecurse As %Boolean = 0, ByRef pParams) as %Status [ Language = objectscript ]
Uninstalls a named module (pModuleName).
May optionally force installation (uninstalling even if required by other modules) if pForce is 1.
May optionally recurse to also uninstall dependencies that are not required by other modules if pRecurse is 1.
If both pForce and pRecurse are 1, then dependencies will also be uninstalled forcibly.
@API.Method
method UpdateAPIDocumentation(pDependencies As %List = "") as %Status [ Language = objectscript ]
Extract annotations from classes in the module, and generate output XML to file
pDependencies is a $ListBuild list of module names on which this module depends
Validates the module manifest in pManifest - both that it can be interpreted properly as XML, and also that the module it contains (returned in pModule) has
a name and version matching the supplied pModuleReference.
You may override this method to do custom processing (such as initializing
the object instance) before returning an instance of this class.
However, this method should not be called directly from user code.
Arguments:
document is the document with %XML.Node or macros in %xmlDOM.inc.
nodeId is a node id of the node which defines this object.
An %XML.Node object may be obtained for this node using document.GetNode(nodeId)
containerOref is the containing object instance when called from XMLImport and
is "" when called from %XML.Reader for Correlate'd objects.
Queries
query VersionRequirements(pOfModuleName As %String, pExcludeModuleNames As %List = "")
SQL Query: select distinct %exact Dependencies_VersionString "Version",%DLIST("Module"->Name) "Names"
from %ZHSLIB_PackageManager_Developer.Module_Dependencies
where Dependencies_Name = :pOfModuleName and
(:pExcludeModuleNames is null or "Module"->Name not %INLIST :pExcludeModuleNames)
group by Dependencies_VersionString