Lorsque vous importez un fichier à l'aide de scripts, vous pouvez importer comme attributs étendus ou collections étendues certaines propriétés qui peuvent ne pas correspondre à des attributs standards.
If not ExistingModel Is Nothing Then
' Création d'une extension
Dim ModelExtension
Set ModelExtension = ExistingModel.ExtendedModelDefinitions.CreateNew()
If not ModelExtension is Nothing Then
output "Model extension successfully created in model"
' Initialisation des attributs d'extension de modèle
ModelExtension.Name = "Extension for Import of XXX files"
ModelExtension.Code = "importXXX"
ModelExtension.Family = "Import"
' Définition d'un nouveau stéréotype pour la métaclasse Class dans la section de profil
Dim MySttp
Set MySttp = ModelExtension.AddMetaExtension(PdOOM.Cls_Class, Cls_StereotypeTargetItem)
If not MySttp Is Nothing Then
output "Stereotype extension successfully created in extension"
MySttp.Name = "MyStereotype"
MySttp.UseAsMetaClass = true ' The stereotype will behave as a new metaclass (specific list and category in browser)
' Définition d'un attribut étendu pour ce stéréotype
Dim MyExa
Set MyExa = MySttp.AddMetaExtension(Cls_ExtendedAttributeTargetItem)
If not MyExa is Nothing Then
output "Attribut étendu créé dans l'extension"
MyExa.Name = "MonAttribut"
MyExa.Comment = "attribut personnalisé provenant d'importation"
MyExa.DataType = 10 ' Correspond à integer
MyExa.Value = "-1" ' Valeur par défaut
Set MyExa = Nothing
End If
' Définition d'une collection étendue pour ce stéréotype
Dim MyExCol
Set MyExCol = MySttp.AddMetaExtension(Cls_ExtendedCollectionTargetItem)
If not MyExCol is Nothing Then
output "Collection étendue créé dans l'extension"
MyExCol.Name = "MaCollection"
MyExCol.Comment = "collection personnalisée provenant d'impotation"
MyExCol.DestinationClassKind = PdOOM.Cls_class ' La collection ne peut stocker que des classes
MyExCol.Destinationstereotype = "MonStereotype" ' La collection ne peut stocker que des classes avec le stéréotype "MonStereotype"
Set MyExCol = Nothing
End If
Set MySttp = Nothing
End If
Set ModelExtension = Nothing
End If
End If