Vous pouvez explorer la structure du métamodèle PowerAMC sous la forme d'un modèle autonome ou en partant des instances d'objet contenues dans votre modèle.
Pour obtenir des informations générales sur l'accès au métamodèle et la navigation dans le métamodèle, voir Métamodèle public PowerAMC. Les métaclasses (telles que CheckModelInternalMessage et FileReportItem) qui ne sont pas accessibles par script sont visibles dans Metamodel.moo, mais portent le stéréotype <<notScriptable>> et ne sont pas répertoriées dans le fichier d'Aide sur les objets du métamodèle.
for each l in MetaModel.Libraries
for each c in l.Classes
if c.Abstract = false then
Output l.PublicName + "." + c.PublicName
end if
next
next
Le
script suivant localise la racine BaseClass et montre les deux premiers niveaux d'héritage située au-dessous
:set root = MetaModel.GetMetaClassByPublicName("PdCommon.BaseObject")
for each c in root.Children
output c.PublicName
for each cc in c.Children
output " " + cc.PublicName
next
next
Le
script suivant obtient une table dans un MPD, puis montre la métaclasse dont l'objet est
une instance, la métaclasss parent et la métabibliothèque de la métaclasse, ainsi que
toutes les attributs et toutes les collections qui sont disponibles pour cette
métaclasse
:Dim object
Set object = ActiveModel.FindChildByName("myTable",cls_Table)
Output "Objet: " + object.Name
Dim metaclass
Set metaclass = object.MetaClass
Output "Métaclasse : " + metaclass.PublicName
Output "Parent : " + metaclass.Parent.PublicName
Output "Métabibliothèque : " + metaclass.Library.PublicName
Output "Attributs :"
For each attr in metaclass.attributes
Output " - " + attr.PublicName
Next
Output "Collections :"
For each coll in metaclass.collections
Output " - " + coll.PublicName
Next
Les propriétés et les collections sont en lecture seule pour tous les objets du métamodèle.