Skip to main content


persistent class Inventory.Component extends %Library.Persistent, %XML.Adaptor

SQL Table Name: Inventory.Component

Component is a superclass of all types of components discoverable in an inventory scan. A component represents a named object in a system installation such as a file, database or routine.

Components maintain a relationship with an optional parent component and any sub-components. For example, files are subcomponents of directories.

Component data is stored in the %SYS database, and may be exported into an XML representation.

Property Inventory


parameter XMLNAME = Component;
The element name used in the XML representation of the component.
parameter XMLTYPE = Component;
The identifier used to distinguish the type of this component in the XML representation.


property Name as %String (COLLATION = "EXACT", MAXLEN = 512);
The name of this component, which distinguishes it from other components of the same type.
Property methods: NameDisplayToLogical(), NameGet(), NameGetStored(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
relationship ParentComponent as Inventory.Component [ Inverse = SubComponents , Cardinality = one ];
The parent component of this component.
Property methods: ParentComponentGet(), ParentComponentGetObject(), ParentComponentGetObjectId(), ParentComponentGetStored(), ParentComponentGetSwizzled(), ParentComponentIsValid(), ParentComponentNewObject(), ParentComponentOnDelete(), ParentComponentRClose(), ParentComponentRExec(), ParentComponentRFetch(), ParentComponentRelate(), ParentComponentSQLCompute(), ParentComponentSet(), ParentComponentSetObject(), ParentComponentSetObjectId(), ParentComponentUnRelate(), ParentComponentUnSwizzle()
property Scan as Scan (XMLREFERENCE = "ID") [ Required ];
The Scan which found this component.
Property methods: ScanGet(), ScanGetObject(), ScanGetObjectId(), ScanGetStored(), ScanGetSwizzled(), ScanIsValid(), ScanNewObject(), ScanSet(), ScanSetObject(), ScanSetObjectId(), ScanUnSwizzle()
relationship SubComponents as array of Component [ InitialExpression = $listbuild("Inventory.Component","ParentComponent",+$this,"many",1,1) , Transient , Inverse = ParentComponent , Cardinality = many ];
The subcomponents of this component.
Property methods: SubComponentsGet(), SubComponentsGetObject(), SubComponentsGetObjectId(), SubComponentsGetSwizzled(), SubComponentsIsEmpty(), SubComponentsIsValid(), SubComponentsNewObject(), SubComponentsRClose(), SubComponentsRExec(), SubComponentsRFetch(), SubComponentsRelate(), SubComponentsSQLCompute(), SubComponentsSet(), SubComponentsUnRelate()


index ($Component on ) [Extent, Type = bitmap];
index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
index (NameIndex on Name:Exact);
Index methods: NameIndexExists()
index (ParentComponentIndex on ParentComponent);
Index methods: ParentComponentIndexExists()
index (ScanIndex on Scan) [Type = bitmap];

Inherited Members

Inherited Methods


Storage Model: CacheStorage (Inventory.Component)


Storage Model: CacheStorage (Inventory.Component)



FeedbackOpens in a new tab