Chapter 4 Gestion des profils
Un fichier généré utilise des templates définis dans des métaclasses. Le premier template que vous devez définir porte sur les messages. Le rôle de ce template est d'évaluer le numéro d'ordre de message et de fournir le nom de l'émetteur, le nom du message et le nom du récepteur pour chaque message dans le diagramme.
La syntaxe pour ce template est la suivante :
.set_value(_tabs, "", new) .foreach_part(%SequenceNumber%, '.') .set_value(_tabs, " %_tabs%") .next %_tabs%%SequenceNumber%) %Sender.ShortDescription% sends message "%Name%" to %Receiver.ShortDescription%
La première partie du template vise à créer une indentation correspondant au numéro de séquence du message. La macro foreach_parts boucle sur les numéros d'ordre :
.foreach_part(%SequenceNumber%, '.') .set_value(_tabs, " %_tabs%")
Il passe en revue chaque numéro d'ordre et chaque fois qu'il trouve un point, il ajoute trois espaces vides automatiquement pour réaliser l'indentation. Cette procédure calcule la variable _tab, qui est ensuite utilisée pour créer l'indentation appropriée en fonction des numéros d'ordre.
La dernière ligne contient le texte généré pour le template : pour chaque numéro de séquence, la valeur de tabulation appropriée est créée, suivie du nom de l'émetteur (brève description), le texte "sends message", puis le nom du message, le texte "to", ainsi que le nom du récepteur.
Pour définir un template utilisé pour la génération :
.set_value(_tabs, "", new) .foreach_part(%SequenceNumber%, '.') .if (%Separator% == ".") .set_value(_tabs, " "%_tabs%) .endif .next %_tabs%%SequenceNumber%) %Sender.ShortDescription% sends message "%Name%" to %Receiver.ShortDescription%
Copyright (C) 2007. Sybase Inc. All rights reserved. |
![]() |