Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Macro de liste

Si vous avez besoin de boucler ou de parcourir un ensemble d'objets contenus dans ou sous l' object actuel, vous pouvez le faire à l'aide de la macro %list . Cette macro effectue une passe itérative sur tous les objets dans la portée du gabarit courant, et appelle un autre gabarit pour traiter chacun d'eux.

La structure de base est :

%list=<TemplateName> @separator=<chaîne> @indent=<chaîne> (<conditions>) %

où <string> est une string littérale entre guillemets doubles et <TemplateName> peut être l'un de ces noms de gabarit :

  • Attribut
  • AttributImpl
  • Classer
  • Base de classe
  • ClassImpl
  • ClassInitializerClassInitializer
  • Interface de classe
  • Contrainte
  • Gabarit personnalisé (les gabarits personnalisés vous permettent de définir vos propres gabarits )
  • Effort
  • ClasseInner
  • InnerClassImpl
  • Fichier lié
  • Métrique
  • Namespace
  • Opération
  • OperationImpl
  • Paramètre
  • Problème
  • Exigence
  • Ressource
  • Risque
  • Scénario
  • Test
<conditions> est facultatif et ressemble aux conditions des instructions 'if' et 'elseIf'.

Exemple

Dans une transformation de classe, la classe peut contenir plusieurs attributs ; cet exemple appelle la transformation d'attribut et génère le résultat du traitement de la transformation pour chaque attribut de la classe dans la portée. La liste résultante sépare ses éléments par une seule nouvelle ligne et les indente respectivement de deux espaces. Si la classe dans la portée avait des attributs stéréotypés, ils seraient générés à l'aide du gabarit spécialisé approprié.

%list="Attribut" @separator="\n" @indent=" "%

L'attribut separator, noté @separator, spécifie l'espace qui doit être utilisé entre les éléments de la liste, à l'exclusion du dernier élément de la liste.

L'attribut indent, noté @indent, spécifie l'espace par lequel chaque ligne de la sortie générée doit être indentée.

Cas spéciaux

Il y a quelques cas particuliers à considérer lors de l'utilisation de la macro %list :

  • Si le gabarit Attribute est utilisé comme argument de la macro %list, cela génère également des attributs dérivés des Associations en exécutant le gabarit approprié
  • Si le gabarit est utilisé comme argument de la macro %list, cela génère également des bases de classe dérivées des liens dans le modèle en exécutant le gabarit approprié
  • Si le gabarit est utilisé comme argument de la macro %list, cela génère également des bases de classe dérivées des liens dans le modèle en exécutant le gabarit approprié
  • Si InnerClass ou InnerClassImpl est utilisé comme argument de la macro %list, ces Classes sont générées en utilisant respectivement les gabarits Class et gabarits ; ces arguments indiquent que les gabarits doivent être traités en fonction des classes internes de la classe dans la portée

Apprenez Plus