Pré. | Proc. |
Gabarits code et de transformation
Les gabarits de code et gabarits de transformation ( Transformation du Modèle ) gabarits comment le système doit générer ou transformer du code dans l'un ou l'autre des langages de programmation pris en supporte par Enterprise Architect . Chaque langage possède un large éventail de gabarits de base, chacun définissant comment une structure de code particulière est générée. Vous pouvez utiliser ces gabarits de base tels quels, ou vous pouvez personnaliser et ajouter des gabarits pour mieux prendre en support votre utilisation des langages standard ou d'autres langages que vous pourriez définir dans le système. Vous révision , mettez à jour et créez des gabarits via l'éditeur Code Gabarit ou l'éditeur Transformation Gabarit .
L'ordre dans lequel les gabarits de base sont listés dans les deux éditeurs est lié à l'ordre hiérarchique des objets et de leurs parties à traiter. Des appels sont effectués à partir de certains gabarits de base vers d'autres, et vous pouvez ajouter d'autres appels aux deux gabarits de base et à vos propres gabarits personnalisés. Par défaut, le gabarit File est le point de départ d'un processus de génération de code à travers les gabarits ; un fichier se compose de classes pouvant contenir des Attributes et des opérations.
Accéder
Ruban |
Développer> Code source> Options> Modifier Gabarits code Conception > Paquetage > Transformer > Transformer Gabarits |
Raccourcis Clavier |
Ctrl+Maj+P ( Gabarits génération de code) (Gabarits de transformation Gabarits ) |
Application des Gabarits
Action |
Détail |
Voir également |
---|---|---|
Appel Gabarits |
Dans n'importe quel gabarit , vous pouvez appeler d'autres gabarits en utilisant %TemplateName%. Les signes de pourcentage (%) englobants indiquent une macro. Vous l'utiliserez pour un seul appel au gabarit ClassBody , %ClassBody%, comme indiqué : % list = "TemplateName" @separator= " \n" @indent= " " % La macro %list effectue une passe itérative sur tous les objets dans le périmètre du gabarit courant et appelle le TemplateName pour chacun d'entre eux : % list = "ClassBody" @separator= " \n" @indent= " " % Après génération ou transformation, chaque macro est substituée pour produire la sortie générée ; pour un langage tel que C++, le résultat du traitement de ce gabarit pourrait être : /** * Ceci est un exemple de note de classe générée à l'aide de gabarits de code * @author Sparx Systems */ classe Classe A : classe publique B { ... } |
Macro de liste |
Exécution du Code Gabarits |
Chaque gabarit peut n'agir que sur un type d'élément particulier ; par exemple, le gabarit n'agit que sur les éléments UML Class et Interface. L'élément à partir duquel le code est actuellement généré est dit être dans la portée ; si l'élément dans la portée est stéréotypé, le système recherche un gabarit qui a été défini pour ce stéréotype. Si un gabarit spécialisé est trouvé, il est exécuté ; sinon l'implémentation par défaut du gabarit de base est utilisée. Gabarits sont traités séquentiellement, ligne par ligne, en remplaçant chaque macro par sa valeur de texte sous-jacente issue du modèle. |
|
Transfert de Gabarits entre projets |
Si vous éditez un gabarit de génération de code ou de transformation de base, ou créez un gabarit personnalisé, vous pouvez les copier d'un projet à un autre en tant que données de référence. |
Génération et transformation de code d'exportation Gabarits Génération de code d'importation et Gabarits transformation |