Pré. | Proc. |
Macros de fonctions
Les macros de fonction sont un moyen pratique de manipuler et de formater divers éléments de données. Chaque macro de fonction renvoie une string de résultat. Il existe deux manières principales d'utiliser les résultats des macros de fonction :
- Substitution directe de la string renvoyée dans la sortie, par exemple : %TO_LOWER(attName)%
- Stockage de la string renvoyée dans le cadre d'une définition de variable telle que : $name = %TO_LOWER(attName)%
- Littéraux String , placés entre guillemets doubles
- Macros de substitution directe sans les signes de pourcentage qui les entourent
- Références variables
- Littéraux numériques
Les macros de fonction sont nommées selon le style Tout en majuscules, comme dans :
%CONVERT_SCOPE(opScope)%
Les macros de fonctions disponibles sont décrites ici. Les paramètres sont indiqués par des crochets, comme dans :
FONCTION_NOM([param]).
CONVERTIR_SCOPE([umlScope])
À utiliser avec les langues prises en charge pour convertir [umlScope] en mot-clé de portée approprié pour la langue en cours de génération. Ce tableau montre la conversion de [umlScope] par rapport à la langue donnée.
Langue |
Conversions |
---|---|
C++ |
Paquetage ==> public Public ==> public Privé ==> privé Protégé ==> protégé |
C# |
Paquetage ==> interne Public ==> public Privé ==> privé Protégé ==> protégé |
Delphes |
Paquetage ==> protégé Public ==> public Privé ==> privé Protégé ==> protégé |
Java |
Paquetage ==> {vide} Public ==> public Privé ==> privé Protégé ==> protégé |
PHP |
Paquetage ==> public Public ==> public Privé ==> privé Protégé ==> protégé |
VB |
Paquetage ==> Protégé Public ==> Public Privé ==> Privé Protégé ==> Protégé |
VB .Net |
Paquetage ==> Ami Public ==> Public Privé ==> Privé Protégé ==> Protégé |
COLLECTION_CLASS([langue])
Donne la classe de collection appropriée pour la langue spécifiée pour l'attribut lié actuel.
CSTYLE_COMMENT([longueur_enveloppe])
Convertit les notes de l'élément actuellement dans la portée en commentaires simples de style C, en utilisant /* et */.
DELPHI_PROPERTIES([portée], [separator] , [retrait])
Génère une propriété Delphi.
DELPHI_COMMENT([wrap_length])
Convertit les notes de l'élément actuellement concerné en commentaires Delphi.
EXEC_ADD_IN(, [nom_fonction],, ...,)
Appelle une fonction Add-In Enterprise Architect , qui peut renvoyer une string de résultat.
[addin_name] et [function_name] spécifient les noms du Add-In et de la fonction à appeler.
Les paramètres de la fonction Add-In peuvent être spécifiés via les paramètres [prm_1] à [prm_n].
$result = %EXEC_ADD_IN("MonAddin", "ProcessOperation", classGUID, opGUID)%
Toute fonction appelée par la macro EXEC_ADD_IN doit avoir deux paramètres : un object EA.Repository et un tableau Variant contenant tous les paramètres supplémentaires de l'appel EXEC_ADD_IN. Le type de retour doit être Variant.
Fonction publique ProcessOperation( Référentiel As EA.Repository , args As Variant) As Variant
RECHERCHER([src], [sous-chaîne])
Position de la première instance de [subString] dans [src] ; -1 si aucune.
OBTENIR_ALIGNEMENT()
Renvoie une string dans laquelle tout le texte de la ligne de sortie actuelle est converti en espaces et tabulations.
JAVADOC_COMMENT([wrap_length])
Convertit les notes de l'élément actuellement dans la portée en commentaires de style javadoc.
GAUCHE([src], [compte])
Les [count] premiers caractères de [src].
LONGUEUR([src])
Longueur de [src]. Renvoie une string .
MATH_ADD(x,y) MATH_MULT(x,y) et MATH_SUB(x,y)
Dans un gabarit de code ou gabarit DDL, ces trois macros exécutent respectivement les fonctions mathématiques de :
- Addition (x+y)
- Multiplication (x*y) et
- Soustraction (xy)
- $a = %MATH_ADD(3,4)%
- $b = %MATH_SUB(10,3)%
- $c = %MATH_MULT(2,3)%
- $d = %MATH_ADD($a,$b)%
- $e = %MATH_SUB($b,$c)%
- $f = %MATH_MULT($a,$b)%
- $g = %MATH_MULT($a,10)%
- $h = %MATH_MULT(10,$b)%
- a = 3 + 4 = $a
- b = 10 - 3 = $b
- c = 2 * 3 = $c
- d = a + b = $d
- e = b - c = $e
- f = a * b = $f
- g = a * 10 = $g
- h = 10 * b = $h
- a = 3 + 4 = 7
- b = 10 - 3 = 7
- c = 2 * 3 = 6
- d = a + b = 14
- e = b - c = 1
- f = a * b = 49
- g = a * 10 = 70
- h = 10 * b = 70
MID([src], [début]) MID([src], [début], [nombre])
Sous-chaîne de [src] commençant à [start] et incluant [count] caractères. Lorsque [count] est omis, le reste de la string est inclus.
PI([option], [ valeur ], {[option], [ valeur ]})
Ensembles le PI pour le gabarit actuel à [ valeur ]. Les valeurs valides pour [ valeur ] sont :
- " \n"
- " "
- « «
- « »
- I, Immédiat : le nouveau PI est généré avant la prochaine ligne gabarit non vide
- N, Suivant : le nouveau PI est généré après la prochaine ligne gabarit non vide
%PI=" "%
%classAbstract ? "abstrait"%
%si classTag:"macro" != " "%
%PI("Je", " \n", "N", " " )%
%classTag:"macro"%
%finSi%
classe
%Nom de classe%
Pour plus de détails, voir la macro Instruction de traitement (PI) .
PROCESS_END_OBJECT([nom_modèle])
Permet aux classes qui sont une classe plus éloignée de la classe de base, d'être transformées en objets (tels que des attributs, des opérations, Paquetages , des paramètres et des colonnes) de la classe de base. [template_name] fait référence au gabarit de travail qui stocke temporairement les données.
SUPPRIMER LES DUPLICATS([source], [separator] )
Où [source] est une liste séparée par [separator] ; cela supprime toutes les chaînes en double ou vides.
REMPLACER([ string ], [ancien], [nouveau])
Remplace toutes les occurrences de [old] par [new] dans la string donnée <string>.
RESOLVE_OP_NAME()
Résout les conflits dans les noms d'interface lorsque deux interfaces de méthode ont le même nom.
RESOLVE_QUALIFIED_TYPE() RESOLVE_QUALIFIED_TYPE( [separator] ) RESOLVE_QUALIFIED_TYPE( [separator] , [par défaut])
Génère un type qualifié pour l'attribut actuel, l'attribut lié, le parent lié, l'opération ou le paramètre. Permet la spécification d'un séparateur autre que. et une valeur par défaut lorsque certaines valeur sont requises.
DROITE([src], [compte])
Les [count] derniers caractères de [src].
TO_LOWER([ string ])
Convertit [ string ] en minuscules.
TO_UPPER([ string ])
Convertit [ string ] en majuscules.
TRIM([ string ]) TRIM([ string ], [trimChars])
Supprime les espaces blancs de début et de fin de [ string ]. Si [trimChars] est spécifié, tous les caractères de début et de fin de l'ensemble de <trimChars> sont supprimés.
TRIM_LEFT([ string ]) TRIM_LEFT([ string ], [trimChars])
Supprime les caractères de début spécifiés de <string>.
TRIM_RIGHT([ string ]) TRIM_RIGHT([ string ], [trimChars])
Supprime les caractères de fin spécifiés de <string>.
VB_COMMENT([longueur_d'enveloppement])
Convertit les notes de l'élément actuellement dans la portée en commentaires de style Visual Basic.
WRAP_COMMENT([commentaire], [wrap_length], [indent], [start_string])
Encapsule le texte [commentaire] à une largeur [wrap_length] en plaçant [indent] et [start_string] au début de chaque ligne.
$comportement = %WRAP_COMMENT(opBehavior, "40", " " , " // " )%
<wrap_length> doit toujours être passé sous forme de string , même si WRAP_COMMENT traite ce paramètre comme un integer .
WRAP_LINES([texte], [longueur_enveloppe], [chaîne_début] {, [chaîne_fin] })
Encapsule [texte] comme indiqué pour être [wrap_length], en ajoutant [start_string] au début de chaque ligne et [end_string] à la fin de la ligne si cela est spécifié.
XML_COMMENT([wrap_length])
Convertit les notes de l'élément actuellement concerné en commentaires de style XML.