Skip to main content


abstract persistent class %ZHSLIB.PackageManager.Developer.Annotation.CosEntity.CommentableEntity extends %ZHSLIB.PackageManager.Developer.Annotation.CosEntity

SQL Table Name: %ZHSLIB_PackageManager_Developer_Annotation_CosEntity.CommentableEntity

base class for COS entity proxy objects representing things that can have triple-slash comment blocks in the COS source code: classes and class members.

Property Inventory

Method Inventory


property CommentBlock as %Library.RawString;
stores the NON-TAG content of the "///" description of a class or class member
Property methods: CommentBlockGet(), CommentBlockGetStored(), CommentBlockIsValid(), CommentBlockSet()
property IsAPI as %Boolean (XMLPROJECTION = "none") [ InitialExpression = 0 ];
Property methods: IsAPIDisplayToLogical(), IsAPIGet(), IsAPIGetStored(), IsAPIIsValid(), IsAPILogicalToDisplay(), IsAPILogicalToXSD(), IsAPINormalize(), IsAPISet(), IsAPIXSDToLogical()
property Name as %String (MAXLEN = 200, XMLPROJECTION = "attribute");
name of class/property/parameter/whatever
Property methods: NameDisplayToLogical(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
property SkipTagInheritance as %Boolean (XMLPROJECTION = "none") [ InitialExpression = 0 ];
internal flag to indicate whether we should apply inheritance of tags.
Property methods: SkipTagInheritanceDisplayToLogical(), SkipTagInheritanceGet(), SkipTagInheritanceGetStored(), SkipTagInheritanceIsValid(), SkipTagInheritanceLogicalToDisplay(), SkipTagInheritanceLogicalToXSD(), SkipTagInheritanceNormalize(), SkipTagInheritanceSet(), SkipTagInheritanceXSDToLogical()


method AssignTag(pNewTag As %ZHSLIB.PackageManager.Developer.Annotation.Tag.AnchorTag, pTrackIsAPI As %Boolean = 1) as %Status
classmethod DefaultAPITag() as %String
classmethod NamespaceForModuleClass(pClassName As %Dictionary.Classname, Output pObjectID As %Integer) as %String
given a class name (usually a superclass of a class we're examining), this method returns the name of the namespace where that class's module's annotation data has been composed (if applicable), which may be the same as the current working namespace. If the class is a non-module class, we return the empty string.
method ProcessComments(pDescription As %Library.RawString) as %Status
go through the comment block on the current entity and parse tags from it
method ShouldRefuseTag(pCandidateTag As %ZHSLIB.PackageManager.Developer.Annotation.Tag.AnchorTag) as %Boolean
apply the "DoesNotInheritTags" effect.
method ValidateTags()
Inherited description: validates tags for object validity and also applies logic rules. no return value; throws exceptions if there are showstopper problems. Some non-critical issues may simply cause output warnings. The various overrides all call ##super and they are all called when we finish loading/building the info for a class (with all its contents) and we're about to save the class proxy and its entire object tree.

Inherited Members

Inherited Properties

Inherited Methods


Gray indicates storage defined by superclasses.

Storage Model: Storage (%ZHSLIB.PackageManager.Developer.Annotation.CosEntity)


Storage Model: Storage (%ZHSLIB.PackageManager.Developer.Annotation.CosEntity.CommentableEntity)

FeedbackOpens in a new tab