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 :