Home > Class Reference > %SYS namespace > %ZHSLIB.PackageManager.Developer.Module

%ZHSLIB.PackageManager.Developer.Module

persistent class %ZHSLIB.PackageManager.Developer.Module extends %Library.Persistent, %ZHSLIB.PackageManager.Core.ModuleInfo, %ZHSLIB.PackageManager.Core.ComparisonAdaptor

SQL Table Name: %ZHSLIB_PackageManager_Developer.Module

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter DOMAIN = HSPM;

Properties (Including Private)

property Author as %ZHSLIB.PackageManager.Developer.ModuleAuthorInfo;
Property methods: AuthorGet(), AuthorGetObject(), AuthorGetObjectId(), AuthorGetStored(), AuthorGetSwizzled(), AuthorIsEmpty(), AuthorIsValid(), AuthorNewObject(), AuthorSet(), AuthorSetObject(), AuthorSetObjectId(), AuthorUnSwizzle()
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).
Property methods: CalculatedResourcesCollectionToDisplay(), CalculatedResourcesCollectionToOdbc(), CalculatedResourcesDisplayToCollection(), CalculatedResourcesGet(), CalculatedResourcesOdbcToCollection()
property Defaults as list of %ZHSLIB.PackageManager.Developer.ModuleSetting (CLASSNAME = 1, STORAGEDEFAULT = "array", XMLNAME = "Defaults", XMLPROJECTION = "WRAPPED", XMLREFERENCE = "COMPLETE", XMLTYPECONSTRAINT = "SUBSTITUTIONGROUP");
Default settings - there may be serveral types of these (subclasses of ModuleSetting).
Property methods: DefaultsBuildValueArray(), DefaultsCollectionToDisplay(), DefaultsCollectionToOdbc(), DefaultsDisplayToCollection(), DefaultsGet(), DefaultsGetObject(), DefaultsGetObjectId(), DefaultsGetStored(), DefaultsGetSwizzled(), DefaultsIsValid(), DefaultsOdbcToCollection(), DefaultsSet(), DefaultsSetObject(), DefaultsSetObjectId()
property Dependencies as list of %ZHSLIB.PackageManager.Core.ModuleReference (STORAGEDEFAULT = "array");
Property methods: DependenciesBuildValueArray(), DependenciesCollectionToDisplay(), DependenciesCollectionToOdbc(), DependenciesDisplayToCollection(), DependenciesGet(), DependenciesGetObject(), DependenciesGetObjectId(), DependenciesGetStored(), DependenciesGetSwizzled(), DependenciesIsValid(), DependenciesOdbcToCollection(), DependenciesSet(), DependenciesSetObject(), DependenciesSetObjectId()
property Description as %String);
Property methods: DescriptionDisplayToLogical(), DescriptionGet(), DescriptionGetStored(), DescriptionIsValid(), DescriptionLogicalToDisplay(), DescriptionLogicalToOdbc(), DescriptionNormalize(), DescriptionSet()
property DeveloperMode as %Boolean (ForceCodeGenerate = 0, XMLPROJECTION = "NONE");
Set to 1 if this module is in development mode, 0 if it is not.
Property methods: DeveloperModeDisplayToLogical(), DeveloperModeGet(), DeveloperModeGetStored(), DeveloperModeIsValid(), DeveloperModeLogicalToDisplay(), DeveloperModeLogicalToXSD(), DeveloperModeNormalize(), DeveloperModeSet(), DeveloperModeXSDToLogical()
property ExternalName as %String (MAXLEN = 255);
Property methods: ExternalNameDisplayToLogical(), ExternalNameGet(), ExternalNameGetStored(), ExternalNameIsValid(), ExternalNameLogicalToDisplay(), ExternalNameLogicalToOdbc(), ExternalNameNormalize(), ExternalNameSet()
property GlobalScope as %Boolean;
Property methods: GlobalScopeDisplayToLogical(), GlobalScopeGet(), GlobalScopeGetStored(), GlobalScopeIsValid(), GlobalScopeLogicalToDisplay(), GlobalScopeLogicalToXSD(), GlobalScopeNormalize(), GlobalScopeSet(), GlobalScopeXSDToLogical()
property Hash as %Binary (ForceCodeGenerate = 0, XMLPROJECTION = "NONE");
Property methods: HashGet(), HashGetStored(), HashIsValid(), HashLogicalToXSD(), HashSet(), HashXSDToLogical()
property InstallerClass as %Dictionary.Classname;
Property methods: InstallerClassGet(), InstallerClassGetStored(), InstallerClassIsValid(), InstallerClassSet()
property Keywords as %String);
Property methods: KeywordsDisplayToLogical(), KeywordsGet(), KeywordsGetStored(), KeywordsIsValid(), KeywordsLogicalToDisplay(), KeywordsLogicalToOdbc(), KeywordsNormalize(), KeywordsSet()
property LastModifiedTimestamp as %TimeStamp (ForceCodeGenerate = 0, XMLPROJECTION = "NONE") [ InitialExpression = $ZDateTime($Horolog,3) ];
Property methods: LastModifiedTimestampDisplayToLogical(), LastModifiedTimestampGet(), LastModifiedTimestampGetStored(), LastModifiedTimestampIsValid(), LastModifiedTimestampLogicalToDisplay(), LastModifiedTimestampLogicalToXSD(), LastModifiedTimestampNormalize(), LastModifiedTimestampOdbcToLogical(), LastModifiedTimestampSet(), LastModifiedTimestampXSDToLogical()
property Lifecycle as %ZHSLIB.PackageManager.Developer.Lifecycle.Abstract (XMLPROJECTION = "NONE") [ Transient ];
Property methods: LifecycleClassGet(), LifecycleClassGetStored(), LifecycleClassIsValid(), LifecycleClassSet(), LifecycleGet(), LifecycleGetSwizzled(), LifecycleIsValid(), LifecycleNewObject(), LifecycleSet()
property LifecycleClass as %Dictionary.Classname [ InitialExpression = "%ZHSLIB.PackageManager.Developer.Lifecycle.Module" ];
Lifecycle class used by default for this module
Property methods: LifecycleClassGet(), LifecycleClassGetStored(), LifecycleClassIsValid(), LifecycleClassSet()
relationship Mappings as array of %ZHSLIB.PackageManager.Developer.MappingReference (XMLITEMNAME = "Mapping", XMLPROJECTION = "WRAPPED", XMLREFERENCE = "COMPLETE") [ InitialExpression = $listbuild("%ZHSLIB.PackageManager.Developer.MappingReference","Module",+$this,"children",1,1) , Transient , Inverse = Module , Cardinality = children ];
Property methods: MappingsGet(), MappingsGetObject(), MappingsGetObjectId(), MappingsGetSwizzled(), MappingsIsEmpty(), MappingsIsValid(), MappingsNewObject(), MappingsRClose(), MappingsRExec(), MappingsRFetch(), MappingsRelate(), MappingsSQLCompute(), MappingsSet(), MappingsUnRelate()
property OverrideLifecycleClass as %Dictionary.Classname [ Transient ];
Lifecycle class to use for a specific command (may be overridden from command line)
Property methods: OverrideLifecycleClassGet(), OverrideLifecycleClassIsValid(), OverrideLifecycleClassSet()
property Packaging as %String [ Required ];
Typically "module" or "application", but intentionally not enforced with VALUELIST.
Property methods: PackagingDisplayToLogical(), PackagingGet(), PackagingGetStored(), PackagingIsValid(), PackagingLogicalToDisplay(), PackagingLogicalToOdbc(), PackagingNormalize(), PackagingSet()
relationship Resources as array of %ZHSLIB.PackageManager.Developer.ResourceReference (XMLIO = "IN", XMLITEMNAME = "Resource", XMLPROJECTION = "WRAPPED", XMLREFERENCE = "COMPLETE") [ InitialExpression = $listbuild("%ZHSLIB.PackageManager.Developer.ResourceReference","Module",+$this,"children",1,1) , Transient , Inverse = Module , Cardinality = children ];
Property methods: ResourcesGet(), ResourcesGetObject(), ResourcesGetObjectId(), ResourcesGetSwizzled(), ResourcesIsEmpty(), ResourcesIsValid(), ResourcesNewObject(), ResourcesRClose(), ResourcesRExec(), ResourcesRFetch(), ResourcesRelate(), ResourcesSQLCompute(), ResourcesSet(), ResourcesUnRelate()
property Root as %String (ForceCodeGenerate = 0);
Root directory on the filesystem from which this module was loaded.
Property methods: RootDisplayToLogical(), RootGet(), RootGetStored(), RootIsValid(), RootLogicalToDisplay(), RootLogicalToOdbc(), RootNormalize(), RootSet()
property Version as %ZHSLIB.PackageManager.Core.SemanticVersion (ForceCodeGenerate = 0, XMLPROJECTION = "NONE") [ Required ];
Does not need comparison method to be code generated because that comparing VersionString is good enough.
Property methods: VersionGet(), VersionGetObject(), VersionGetObjectId(), VersionGetStored(), VersionGetSwizzled(), VersionIsEmpty(), VersionIsValid(), VersionNewObject(), VersionRequirementsClose(), VersionRequirementsExecute(), VersionRequirementsFetch(), VersionRequirementsFetchRows(), VersionRequirementsFunc(), VersionRequirementsGetInfo(), VersionRequirementsGetODBCInfo(), VersionRequirementsPrepare(), VersionRequirementsSendODBC(), VersionSet(), VersionSetObject(), VersionSetObjectId(), VersionStringDisplayToLogical(), VersionStringGet(), VersionStringGetStored(), VersionStringIsValid(), VersionStringLogicalToDisplay(), VersionStringLogicalToOdbc(), VersionStringNormalize(), VersionStringSet(), VersionUnSwizzle()
property VersionString as %String (MAXLEN = 100, XMLNAME = "Version") [ InitialExpression = "0.0.1+snapshot" , Required ];
Property methods: VersionStringDisplayToLogical(), VersionStringGet(), VersionStringGetStored(), VersionStringIsValid(), VersionStringLogicalToDisplay(), VersionStringLogicalToOdbc(), VersionStringNormalize(), VersionStringSet()

Methods (Including Private)

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.

If this method returns an error then %ValidateObject() will fail.

method BuildDependencyGraph(ByRef pDependencyGraph, pDepth As %Integer = 1, pForceSnapshotReload As %Boolean = 0, ByRef qstruct, pPhases As %String = "", ByRef pSubModules, pPass As %Integer = 1, pModulePath As %List = $ListBuild(..Name), pIgnoreInstalledModules As %Boolean = 0, pKnownDependencies As %List = ..GetKnownDependencies(..Name), pPermitDowngrade As %Boolean = 0) as %Status [ Language = objectscript ]
method CalculatedResourcesGet() as %Collection.AbstractListOfObj [ Language = objectscript ]
method CompareWithRelationships(pModuleObj As %ZHSLIB.PackageManager.Developer.Module, pIgnorePropertyList As %Library.List = "", Output pDifferingPropertyArray As %Library.List) as %Boolean [ Language = objectscript ]
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 GetNamespaceConfig(ByRef pCheckedModules) as %ZHSLIB.PackageManager.Developer.ModuleSetting.NamespaceConfig [ Language = objectscript ]
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 ]
method LifecycleGet() as %ZHSLIB.PackageManager.Developer.Lifecycle.Abstract [ Language = objectscript ]
method LoadDependencies(pPhaseList As %List, ByRef pParams) as %Status [ Language = objectscript ]
method Lock() as %Status [ Language = objectscript ]
method OverrideLifecycleClassSet(pValue As %Dictionary.Classname) as %Status [ 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
classmethod ValidateStream(pManifest As %Stream.Object, pModuleReference As %ZHSLIB.PackageManager.Core.QualifiedModuleReference, Output pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
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.
classmethod XMLNew(document As %XML.Document, node As %Integer, containerOref As %RegisteredObject = "") as %RegisteredObject [ Language = objectscript ]
Get an instance of an XML enabled class.

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

Indexes

index (Name on Name) [Unique];
Index methods: NameCheck(), NameCheckUnique(), NameDelete(), NameDisplayToLogical(), NameExists(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameOpen(), NameSQLCheckUnique(), NameSQLExists(), NameSQLFindPKeyByConstraint(), NameSQLFindRowIDByConstraint(), NameSet()

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)

Storage

Storage Model: Storage (%ZHSLIB.PackageManager.Developer.Module)

^HS.PM.Dev.ModuleD(ID,"Defaults",n)
=
Defaults(n)

Storage Model: Storage (%ZHSLIB.PackageManager.Developer.Module)

^HS.PM.Dev.ModuleD(ID,"Dependencies",n)
=
Dependencies(n)

Storage Model: Storage (%ZHSLIB.PackageManager.Developer.Module)

^HS.PM.Dev.ModuleD(ID)
=
%%CLASSNAME
Name
Namespace
VersionString
Version
LastModifiedTimestamp
LifecycleClass
Hash
Description
ExternalName
Author
InstallerClass
GlobalScope
Root
Packaging
Keywords
DeveloperMode