Convertir Nombres [Guía de Usuario de Enterprise Architect]

Top Previous Next

Convertir Nombres

button_main button_prev button_next

Diferentes plataformas destino utilizan diferentes convenciones de nombre, por lo que puede que no quiera copiar los nombres de sus elementos directamente en los modelos transformados. Para facilitar este requisito, las plantillas de transformación proporcionan un macro de función CONVERT_NAME.

Otra manera en la que puede transformar un nombre es eliminar un prefijo del nombre original, con el macro REMOVE_PREFIX.

CONVERT_NAME <originalName>, <originalFormat>, <targetFormat>)

Este macro convierte <originalName>, que se asume que está en <originalFormat>, a <targetFormat>.

Los formatos soportados son:

Camel Case: la nuevas palabras empiezan con letra mayúscula excepto la primer palabra, la cual comienza con una letra minúscula; por ejemplo, myVariableTable

Pascal Case: igual que Camel Case pero la primer letra de la primer palabra es en mayúscula; por ejemplo, MyVariableTable

Espaciado: las palabras son separadas por espacios; el tipo de letra (mayúscula o minúscula) es ignorado

Subrayado: las palabras son separadas por guiones; el tipo de letra (mayúscula o minúscula) es ignorado

 

El formato original también puede especificar una lista de delimitadores para ser utilizados. Por ejemplo un valor de ' _' interrumpe las palabras cada vez que se encuentra un espacio o un guion. El formato destino también puede utilizar una cadena de formato que especifica el tipo de letra (mayúscula o minúscula) para cada palabra y un delimitador entre ellos. Toma la siguiente forma:

<firstWord>(<delimiter>)<otherWords>

<firstWord> controla el tipo de letra (mayúscula o minúscula) de la primer palabra (ver abajo)

<delimiter> es la cadena generada entre palabras

<otherWords> se aplica a todas las palabras después de la primer palabra

 

Ambos<firstWord> y <otherWords> son una secuencia de dos caracteres. El primer caracter representa el tipo de letra (mayúscula o minúscula) de la primer letra de esa palabra, y el segundo caracter representa el tipo de letra (mayúscula o minúscula) de todas las siguientes letras. Una letra mayúscula fuerza la salida a mayúscula, una letra minúscula fuerza la salida a minúscula, y cualquier otro caracter conserva la letra original.

Ejemplo 1: Para poner mayúscula a la primer letra de cada palabra y separar múltiples palabras con espacio:

"Ht( )Ht" para tener como salida "My Variable Table"

 

Ejemplo 2: Para generar el equivalente a Camel Case, pero revertir los roles de mayúscula y minúscula; es decir, todos los caracteres son en mayúscula excepto el primer caracter de cada palabra después de la primer palabra:

"HT( )hT" para tener como salida "MY vARIABLE tABLE"

REMOVE_PREFIX(<originalName>, <prefixes>)

Este macro elimina cualquier prefijo encontrado en <prefixes> desde <originalName>. Los prefijos son especificados en una lista separada por punto y comas.

El macro a menudo es utilizado en conjunción con el macro CONVERT_NAME. Por ejemplo, este código crea un nombre de obtener propiedad de acuerdo con las opciones para Java:

 

$propertyName=%REMOVE_PREFIX(attName,genOptPropertyPrefix)%

%if genOptGenCapitalisedProperties=="T"%

$propertyName=%CONVERT_NAME($propertyName, "camel case", "pascal case")%

%endIf%

 

Notas

Las siglas no son soportadas al convertir desde Camel Case o Pascal Case