Skip to main content


persistent class HS.Registry.Role extends %Library.Persistent, %XML.Adaptor, HS.Util.CopyFrom, HS.Sync.BaseClass, %Library.GlobalIdentifier

SQL Table Name: HS_Registry.HSRole

Property Inventory

Method Inventory


Inherited description: The XMLIGNOREINVALIDTAG parameter allows the programmer to control handling of unexpected elements in the XML input. The XMLIGNOREINVALIDTAG parameter will only take affect if XMLSEQUENCE = 0 (the default). By default (XMLIGNOREINVALIDTAG = 0), will treat an unexpected element as an error. If XMLIGNOREINVALIDTAG is set = 1 and XMLSEQUENCE = 0, then unexpected elements will be ignored.
parameter XMLIGNORENULL = inputonly;
Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling of empty strings for properties of type %String. By default (XMLIGNORENULL = 0), empty strings in the XML input are stored as $c(0) and $c(0) is written to XML as an empty tag. A missing tag in the XML input is always stored as "" and "" is always output to XML as no tag.

If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).

If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.

If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.


property GrantedRoles as list of %String (MAXLEN = 64);
Property methods: GrantedRolesBuildValueArray(), GrantedRolesCollectionToDisplay(), GrantedRolesCollectionToOdbc(), GrantedRolesDisplayToCollection(), GrantedRolesDisplayToLogical(), GrantedRolesGet(), GrantedRolesGetObject(), GrantedRolesGetObjectId(), GrantedRolesGetStored(), GrantedRolesGetSwizzled(), GrantedRolesIsValid(), GrantedRolesLogicalToDisplay(), GrantedRolesLogicalToOdbc(), GrantedRolesNormalize(), GrantedRolesOdbcToCollection(), GrantedRolesSet(), GrantedRolesSetObject(), GrantedRolesSetObjectId()
property RoleName as %String (MAXLEN = 64) [ Required ];
Property methods: RoleNameDisplayToLogical(), RoleNameGet(), RoleNameGetStored(), RoleNameIsValid(), RoleNameLogicalToDisplay(), RoleNameLogicalToOdbc(), RoleNameNormalize(), RoleNameSet()


classmethod AddUpdateRoles(pRoles As HS.Message.Roles = "") as %Status
Take in a list of roles and add them to the registry, or update the existing entries by adding to the list of granted roles if the role is already present
classmethod ExpandRolesList(pRoles As %String, pGroupFlag As %Boolean = 0) as %String
Given a comma-delimited string of roles, returns a comma-delimited string including the original roles and all roles granted by the original roles, determined recursively.
If pGroupFlag is true we only want to return groups (roles starting with "HSGroup"; otherwise we only want roles that are NOT groups.
classmethod GetAvailableRoles(pIncomingRoles As %String, pDummy As %Boolean, pDomainId As %String, pGroupFlag As %Boolean = 0, Output pAvailableRoles As HS.Message.Roles) as %Status
pIncomingRoles - comma-delimited string of the roles available to the current user pDummy - no longer used pDomainId - name of the domain to look up, or "" to ignore any domain restrictions pAvailableRoles - message containing a list of all HS.Registry.Role objects which are available to the current user in the current domain pGroupFlag - If pGroupFlag is 1, return only groups, otherwise do not return any groups


index (IDKEY on RoleName) [IdKey, Type = key, Unique];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods


Storage Model: Storage (HS.Registry.Role)

FeedbackOpens in a new tab