Ces quelques lignes de code en Visual Basic permettent de créer un modèle MOO, puis une classe avec des attributs et des opérations.
Compatible avec PowerDesigner/PowerAMC 16.5
'* Nom du fichier : CREER_MOO.vbs
'* Définition : Le script suivant créer un modèle MOO, puis crée une classe
'* avec des attributs et des opérations
'* Auteur: Benoît Le Nabec
'* URL : http://www.Powerd911.guru
'* Créé: 2015-07-01
'* Version: 1.0
'***********************************************************************
ValidationMode = True 'Force PowerAMC à valider des actions et renvoyer des erreurs en cas d'action interdite
InteractiveMode = im_Batch ' Supprime des boîtes de dialogue PowerAMC
' Fonction princpale
' Crée un MOO avec un diagramme de classes
Dim Model
Set model = CreateModel(PdOOM.cls_Model, "|Diagram=ClassDiagram")
model.Name = "Gestion clients"
model.Code = "GestionClients"
' Récupère de la diagramme de classes
Dim diagram
Set diagram = model.ClassDiagrams.Item(0)
' Crée les classes
CreateClasses model, diagram
' Fonction de création des classes
Function CreateClasses(model, diagram)
' Crée une classe
Dim cls
Set cls = model.CreateObject(PdOOM.cls_Class)
cls.Name = "Client"
cls.Code = "Client"
cls.Comment = "Classe client"
cls.Stereotype = "Class"
cls.Description = "La classe client définit les attributs et comportements d'un client."
' Création des attributs
CreateAttributes cls
' Création des méthodes
CreateOperations cls
' Création d'un symbole pour la classe
Dim sym
Set sym = diagram.AttachObject(cls)
CreateClasses = True
End Function
' Fonction de création d'attributs
Function CreateAttributes(cls)
Dim attr
Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "ID"
attr.Code = "ID"
attr.DataType = "int"
attr.Persistent = True
attr.PersistentCode = "ID"
attr.PersistentDataType = "I"
attr.PrimaryIdentifier = True
Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Nom"
attr.Code = "Nom"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "NOM"
attr.PersistentDataType = "A30"
Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Téléphone"
attr.Code = "Telephone"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "TELEPHONE"
attr.PersistentDataType = "A20"
Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Email"
attr.Code = "Email"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "EMAIL"
attr.PersistentDataType = "A30"
CreateAttributes = True
End Function
' Fonction de création des opérations
Function CreateOperations(cls)
Dim oper
Set oper = cls.CreateObject(PdOOM.cls_Operation)
oper.Name = "GetName"
oper.Code = "GetName"
oper.ReturnType = "String"
Dim body
body = "{" + vbCrLf
body = body + " return Name;" + vbCrLf
body = body + "}"
oper.Body = body
Set oper = cls.CreateObject(PdOOM.cls_Operation)
oper.Name = "SetName"
oper.Code = "SetName"
oper.ReturnType = "void"
Dim param
Set param = oper.CreateObject(PdOOM.cls_Parameter)
param.Name = "nouvNom"
param.Code = "nouvNom"
param.DataType = "String"
body = "{" + vbCrLf
body = body + " Name = nouvNom;" + vbCrLf
body = body + "}"
oper.Body = body
CreateOperations = True
End Function
Résultat :


