Macros de Función

Superior  Previo  Próximo

Las macros de funciones son una forma conveniente de manipular y dar formato a varios datos de los elementos. Cada macro de funciones devuelve una cadena de caracteres de resultado. Hay dos formas primarias de usar el resultado de las macros de funciones: 

Dirija  la sustitución de la cadena de caracteres devuelta en la salida, tal como: %TO_LOWER(attName)%  
Almacenando la cadena de caracteres devuelta como parte de una definición de variable tal como: $name = %TO_LOWER(attName)%  

 

Las macros de funciones pueden tomar parámetros. Los parámetros se pueden pasar a las macros de funciones como:  

literales de cadena de caracteres, encerrados entre comillas dobles.  
macros de sustitución directa sin encerrarlas en los signos de porcentaje.  
referencias de variables.  
literales numéricos

 

Se pasan múltiples parámetros usando una lista separada por comas.  

 

Las macros de funciones disponibles se describen abajo. Los parámetros son destacados entre signos mayor y menor, como en: NOMBRE_DE_FUNCION(<parámetro>)  

 

Note: Function macros are named according to the All-Caps style, as in: %CONVERT_SCOPE(opScope)%

 

CONVERT_SCOPE (<umlScope>)

Convierte  a <umlScope> a la palabra clave del alcance apropiada para el lenguaje al  que se genera. La tabla siguiente muestra la conversión de <umlScope> con respecto al lenguaje dado.  

 

Lenguaje

Paquete

Público

Privado

Protegido

C++

public

public

private

protected  

C#

internal

public

private

protected  

Delphi

protected

public

private

protected  

Java

 

public

private

protected

PHP

public

public

private

protected

VB

Protected

Public

Private

Protected  

VB .Net

Friend

Public

Private

Protected

 

La macro CONVERT_SCOPE se usa con los lenguajes que se soportan.

 

COLLECTION_CLASS(<language>)

Brinda la colección de clases apropiada para el lenguaje especificado para el atributo vínculado actual.

 

 

CSTYLE_COMMENT(<wrap_length>)

Convierte las notas de los elementos actualmente en el alcance para comentarios de estilo c simples, usando /* y */

 

 

DELPHI_PROPERTIES(<scope>, <separator>, <indent>)

Genera una propiedad Delphi

 

 

DELPHI_COMMENT(<wrap_length>)

Convierte las notas para el elemento actualmente en alcance a comentarios Delphi

 

 

EXEC_ADD_IN(<addin_name>, <function_name>, <prm_1>, ..., <prm_n>)

Llama una función add-in de EA, la cual puede devolver un resultado string. <addin_name> y <function_name> especifican el nombre y función del add-in para ser llamado. Los parámetros para la función add-in pueden ser especificados por los parámetros <prm_1> a <prm_n>

 

Ejemplo:

$result = %EXEC_ADD_IN("MyAddin","ProcessOperation",classGUID, opGUID)%

 

Cualquier función que es requerida por el macro EXEC_ADD_IN debe tener dos parámetros, un objeto EA.Repository, y un orden variante que contiene cualquier parámetro adicional de la llamada EXEC_ADD_IN. El tipo de retorno debería ser variante.

 

Ejemplo:

Función pública ProcessOperation(Repository As EA.Repository, args como Variante) Como Variante.

 

FIND(<src>, <subString>)

Posición de la primer instancia de <subString> en <src>, -1 si no hay nada.

 

GET_ALIGNMENT()

Proporciona un string donde todo el texto en la línea actual de la salida se convierte en espacios y tabulaciones.

 

JAVADOC_COMMENT()

Convierte las notas para el elemento, actualmente en el alcance, a comentarios estilo javadoc.

 

LEFT(<src>, <count>)

Los primeros caracteres <count> de <src>.

 

 

LENGTH(<src>)

Longitud de <src>

 

MID(<src>, <count>)

MID(<src>, <start>, <count>)

Substring de <src> comenzando en <start> e incluyendo los caracteres <count>. Donde count se omite el resto del string se incluye.

 

PI(<option>, <value>,...)

Configurar el PI para la plantilla actual a <value>. <option> controla cuando el nuevo PI tiene efecto. Los valores son:

-"I", "Immediate": El nuevo PI será generado antes de la siguiente línea de la plantilla no-vacía.

-"N", "Next": El nuevo PI será generado después de la siguiente línea de la plantilla no-vacía.

 

Se permiten opciones de pares multiples en una llamada.   

 

Vea la descripción de PI para más detalles.   

 

REMOVE_DUPLICATES(<source>, <seperator>)

Donde <source> es una lista separada <seperator>, esto quitara cualquier string duplicado o vacío.

 

REPLACE(<string>, <old>, <new>)

Reemplaza todas las ocurrencias de <old> con <new> en la cadena de caracteres <string>  dada

 

RESOLVE_OP_NAME()

Resuelve los conflictos en los nombres de las interfaces dende dos métodos de las interfaces tiene el mismo nombre.

 

RESOLVE_QUALIFIED_TYPE()

RESOLVE_QUALIFIED_TYPE(<separator>)

RESOLVE_QUALIFIED_TYPE(<separator>, <default>)

Genera un tipo calificado para el atributo actual, atributo vínculado, padres vinculados, operación, o parámetro.

Permite la especificación de un separador otro que . y un valor predeterminado para cuando se requieren algunos valores.

 

RIGHT(<src>, <count>)

Los últimos caracteres <count> de <src>

 

TO_LOWER(<string>)

Convierte <string>  a minúsculas.  

 

TO_UPPER(<string>)

Convierte <string> a mayúsculas.

 

TRIM (<string>)

TRIM (<string>, <trimChars>)

Elimina los espacios en blanco adelante y atrás de <string>. Si se  especifica <trimChars>, se eliminan todos los caracteres adelante y atrás  en el conjunto <trimChars>.

 

TRIM_LEFT (<string>)

TRIM_LEFT (<string>, <trimChars>)

Elimina los caracteres de adelante especificados de <string>

 

TRIM_RIGHT (<string>)

TRIM_RIGHT (<string>, <trimChars>)

Elimina los caracteres de atrás especificados de <string>   

 

VB_COMMENT(<wrap_length>)

Convierte las notas para el elemento actual en el alcance para los comentarios de estilo Visual Basic.

 

WRAP_COMMENT(<comment>, <wrap_length>, <indent>, <start_string>)

Envuelve la cadena de caracteres de comentario dada, <comment>. Cada línea  se envuelve a los caracteres <wrap_length>, identados por <indent> y  con el argumento <start_string> como prefijo.  

 

$behavior = %WRAP_COMMENT(opBehavior, "40", "  ", "//")%

 

Tenga en cuenta: que <wrap_length> se debe pasar incluso como una cadena de  caracteres, aun aunque WRAP_COMMENT trate a su parámetro como un entero.  

 

WRAP_LINES(<text>, <wrap_length>, <start_string>[, <end_string])

Wraps <text> como se ha designado para ser <wrap_length>, agregando <start_string> al comienzo de cada línea y <end_string> al final de la línea si este se especifica.

 

 

XML_COMMENT(<wrap_length>)

Convierte las notas para el elemento, actualmente al alcance, a los comentarios de estilo xml.

Los macros de las funciones se nombran de acuerdo al estilo All-Caps, como en: %CONVERT_SCOPE(opScope)%