%ZHSLIB.PackageManager.Developer.ResourceReference

persistent class %ZHSLIB.PackageManager.Developer.ResourceReference extends %Library.Persistent, %ZHSLIB.PackageManager.Core.ResourceReference

SQL Table Name: %ZHSLIB_PackageManager_Developer.ResourceReference

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties

property APIs as list of %ZHSLIB.PackageManager.Developer.APIReference (STORAGEDEFAULT = "array", XMLNAME = "API", XMLPROJECTION = "ELEMENT");
Children of this resource that constitute its API. (Primarily relevant for packages.)
Property methods: APIsBuildValueArray(), APIsCollectionToDisplay(), APIsCollectionToOdbc(), APIsDisplayToCollection(), APIsGet(), APIsGetObject(), APIsGetObjectId(), APIsGetStored(), APIsGetSwizzled(), APIsIsValid(), APIsOdbcToCollection(), APIsSet(), APIsSetObject(), APIsSetObjectId()
property Attributes as array of %String);
Additional name-value pairs related to this resource May be referred to in lifecycle methods
Property methods: AttributesBuildValueArray(), AttributesCollectionToDisplay(), AttributesCollectionToOdbc(), AttributesDisplayToCollection(), AttributesDisplayToLogical(), AttributesGet(), AttributesGetObject(), AttributesGetObjectId(), AttributesGetStored(), AttributesGetSwizzled(), AttributesIsValid(), AttributesLogicalToDisplay(), AttributesLogicalToOdbc(), AttributesNormalize(), AttributesOdbcToCollection(), AttributesSet(), AttributesSetObject(), AttributesSetObjectId()
property Children as array of %String (MAXLEN = 1, XMLPROJECTION = "NONE");
Array where key = name of child, value = ""
Property methods: ChildrenBuildValueArray(), ChildrenCollectionToDisplay(), ChildrenCollectionToOdbc(), ChildrenDisplayToCollection(), ChildrenDisplayToLogical(), ChildrenGet(), ChildrenGetObject(), ChildrenGetObjectId(), ChildrenGetStored(), ChildrenGetSwizzled(), ChildrenIsValid(), ChildrenLogicalToDisplay(), ChildrenLogicalToOdbc(), ChildrenNormalize(), ChildrenOdbcToCollection(), ChildrenSet(), ChildrenSetObject(), ChildrenSetObjectId()
property Deploy as %Boolean (XMLPROJECTION = "ATTRIBUTE");
If set to true, this source code is not shipped in application packaging. (Of course, it must be included in module packaging.)
Property methods: DeployDisplayToLogical(), DeployGet(), DeployGetStored(), DeployIsValid(), DeployLogicalToDisplay(), DeployLogicalToXSD(), DeployNormalize(), DeploySet(), DeployXSDToLogical()
property Generated as %Boolean (XMLPROJECTION = "ATTRIBUTE");
Specify if this resource is generated. A generated resource will not be loaded nor exported by lifecycle methods
Property methods: GeneratedDisplayToLogical(), GeneratedGet(), GeneratedGetStored(), GeneratedIsValid(), GeneratedLogicalToDisplay(), GeneratedLogicalToXSD(), GeneratedNormalize(), GeneratedSet(), GeneratedXSDToLogical()
property IsAPI as %Boolean (XMLPROJECTION = "ATTRIBUTE");
May be set to false to avoid the overhead of scanning for API annotations. If true or unset, resources will be scanned for annotations.
Property methods: IsAPIDisplayToLogical(), IsAPIGet(), IsAPIGetStored(), IsAPIIsValid(), IsAPILogicalToDisplay(), IsAPILogicalToXSD(), IsAPINormalize(), IsAPISet(), IsAPIXSDToLogical()
relationship Module as %ZHSLIB.PackageManager.Developer.Module (XMLPROJECTION = "NONE") [ Required , Inverse = Resources , Cardinality = parent ];
Property methods: ModuleCheck(), ModuleDelete(), ModuleGet(), ModuleGetObject(), ModuleGetObjectId(), ModuleGetStored(), ModuleGetSwizzled(), ModuleIsValid(), ModuleNewObject(), ModuleOnDelete(), ModuleRClose(), ModuleRExec(), ModuleRFetch(), ModuleRelate(), ModuleSQLCompute(), ModuleSet(), ModuleSetObject(), ModuleSetObjectId(), ModuleUnRelate(), ModuleUnSwizzle()
property OverrideName as %String (MAXLEN = 255, XMLPROJECTION = "NONE");
Overridden unique identifier for this resource; provided by resource processor classes.
Property methods: OverrideNameDisplayToLogical(), OverrideNameGet(), OverrideNameGetStored(), OverrideNameIsValid(), OverrideNameLogicalToDisplay(), OverrideNameLogicalToOdbc(), OverrideNameNormalize(), OverrideNameSet()
property Preload as %Boolean (XMLPROJECTION = "ATTRIBUTE");
Specify if this resource is from reload directory
Property methods: PreloadDisplayToLogical(), PreloadGet(), PreloadGetStored(), PreloadIsValid(), PreloadLogicalToDisplay(), PreloadLogicalToXSD(), PreloadNormalize(), PreloadSet(), PreloadXSDToLogical()
property Processor as %ZHSLIB.PackageManager.Developer.Processor.Abstract (XMLPROJECTION = "NONE") [ Transient ];
Transient instance of ProcessorClass
Property methods: ProcessorClassGet(), ProcessorClassGetStored(), ProcessorClassIsValid(), ProcessorClassSet(), ProcessorGet(), ProcessorGetSwizzled(), ProcessorIsValid(), ProcessorNewObject(), ProcessorSet()
property ProcessorClass as %Dictionary.Classname (XMLPROJECTION = "ATTRIBUTE");
Specifies a class that handles lifecycle events for this resource Typically only applicable to directory/file resources
Property methods: ProcessorClassGet(), ProcessorClassGetStored(), ProcessorClassIsValid(), ProcessorClassSet()
property Scope as %String (VALUELIST = ",test,verify", XMLPROJECTION = "ATTRIBUTE");
Restrict the scope in which this resource is included. Default is "all scopes"
Property methods: ScopeDisplayToLogical(), ScopeGet(), ScopeGetStored(), ScopeIsValid(), ScopeLogicalToDisplay(), ScopeLogicalToOdbc(), ScopeNormalize(), ScopeSet()
property UniqueName as %String (MAXLEN = 255, XMLPROJECTION = "NONE") [ Calculated ];
Unique identifier for the resource. For most typical resources (classes, include files, etc.) this is set to the resource name. For resources starting with /, this is set to "" by default (indicating "not required to be unique"). If a resource processor class is defined, this name can be customized via the OnGetUniqueName method, and override the above behaviors (via OverrideName)
Property methods: UniqueNameCompute(), UniqueNameDisplayToLogical(), UniqueNameGet(), UniqueNameIsValid(), UniqueNameLogicalToDisplay(), UniqueNameLogicalToOdbc(), UniqueNameNormalize(), UniqueNameSQLCompute()

Methods

private method %OnBeforeSave(insert As %Boolean) as %Status [ Language = objectscript ]
This callback method is invoked by the %Save() method to provide notification that the object is being saved. It is called before any data is written to disk.

insert will be set to 1 if this object is being saved for the first time.

If this method returns an error then the call to %Save() will fail.

classmethod GetAPIScope(pResourceReferenceID As %String, ByRef pAPIClassArray, ByRef pAPIPackageArray) as %Status [ Language = objectscript ]
classmethod GetChildren(pResourceName As %String, pModuleName As %String, pCheckModuleOwnership As %Boolean = 1, ByRef pResourceInfoArray, Output pResourceArray) as %Status [ Language = objectscript ]
method GetSortKey() as %String [ Language = objectscript ]
classmethod GetStatus(InternalName As %String, Output pReferenced As %Boolean, Output pEditable As %Boolean, Output pSourceModuleName As %String, Output pMessage As %String) as %Status [ Language = objectscript ]
method IsInScope(pCurrentPhase As %String = "", Output pInCurrentPhase As %Boolean = 0) as %Boolean [ Language = objectscript ]
Returns true if the resource is in scope for the current module lifecycle operation. May also be used to test if the resource's scope matches the current phase.
classmethod NonNullResourceNameExists(pResourceName As %String, Output pID As %Integer = "") as %Boolean [ Language = objectscript ]
For performance reasons, this should be used rather than ResourceNameExists().
classmethod NonNullResourceNameOpen(pResourceName As %String, pConcurrency As %Integer = -1, Output pSC As %Status = $$$OK) as %ZHSLIB.PackageManager.Developer.ResourceReference [ Language = objectscript ]
For performance reasons, this should be used rather than ResourceNameOpen().
method OverrideNameGet() as %String [ Language = objectscript ]
method ProcessorGet() as %ZHSLIB.PackageManager.Developer.Processor.Abstract [ Language = objectscript ]
method ResolveChildren(ByRef pResourceArray, pCheckModuleOwnership As %Boolean = 1) as %Status [ Language = objectscript ]
Returns an array of resources composing this resource, with the names as subscripts of pResourceArray. If pCheckModuleOwnership is 0 (the default is 1), for .PKG resources, all classes in the package will be included (even if they are actually part of another module).
method UpdateChildrenFromString(pChildren As %String) [ Language = objectscript ]
Updates Children to the contents of pChildren.
@Argument pChildren comma delimited string of Studio document names that are contained in this resource

Indices

index (Children on Children(KEYS));
Index methods: ChildrenBuildValueArray(), ChildrenCollectionToDisplay(), ChildrenCollectionToOdbc(), ChildrenDisplayToCollection(), ChildrenDisplayToLogical(), ChildrenGet(), ChildrenGetObject(), ChildrenGetObjectId(), ChildrenGetStored(), ChildrenGetSwizzled(), ChildrenIsValid(), ChildrenLogicalToDisplay(), ChildrenLogicalToOdbc(), ChildrenNormalize(), ChildrenOdbcToCollection(), ChildrenSet(), ChildrenSetObject(), ChildrenSetObjectId()
index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
index (ResourceName on UniqueName) [Unique];
Name index is unique per namespace.
Index methods: ResourceNameCheck(), ResourceNameCheckUnique(), ResourceNameDelete(), ResourceNameExists(), ResourceNameOpen(), ResourceNameSQLCheckUnique(), ResourceNameSQLExists(), ResourceNameSQLFindPKeyByConstraint(), ResourceNameSQLFindRowIDByConstraint()

Triggers

trigger OnChange (AFTER event INSERT/UPDATE);

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)

Storage

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

{%%PARENT}("Resources")(ID,"APIs",n)
=
APIs(n)

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

{%%PARENT}("Resources")(ID,"Attributes",n)
=
Attributes(n)

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

{%%PARENT}("Resources")(ID,"Children",n)
=
Children(n)

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

{%%PARENT}("Resources")(ID)
=
%%CLASSNAME
Name
Scope
Preload
Generated
ProcessorClass
Deploy
UniqueName
OverrideName
IsAPI
Feedback