Home > Class Reference > %SYS namespace > %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

Method Inventory


parameter DOMAIN = HSPM;


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()
property Repository as %String (ForceCodeGenerate = 0);
The repository from which this module was loaded. Is "" if the module was loaded using the load command (i.e. directly from a file and not from a repository).
Property methods: RepositoryDisplayToLogical(), RepositoryGet(), RepositoryGetStored(), RepositoryIsValid(), RepositoryLogicalToDisplay(), RepositoryLogicalToOdbc(), RepositoryNormalize(), RepositorySet()
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()


method %Compile(ByRef qstruct As %String) as %Status [ Language = objectscript ]
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, pCheckNestedScoped 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.
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.
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.


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


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

Inherited Methods


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


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


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

FeedbackOpens in a new window