[ArrayElementType] Metadata tag

La metadata, conocida en otros lenguajes como anotaciones, es una potente herramienta para comunicarse con Flex Builder que permite realizar un abanico de tareas que van desde la generación de código hasta chequeos especiales en tiempo de compilación pasando por integración con el sistema de autocompletado del IDE.
En esta entrada veremos el funcionamiento de la anotación ArrayElementType, con la cual podemos definir Arrays tipados en MXML.

Sintaxis

[ArrayElementType("elementType")]
Argumentos:

  • elementType (obligatorio) es un nombre de clase completo. ej: com.madeinflex.Usuario

Posicionamiento

Esta anotación debe situarse antes de la declaración de una variable de tipo Array.

Descripción

La anotación en cuestión permite definir el tipo de dato de los elementos que son aceptados en un Array.
Esta funcionalidad solo está disponible en Flex Builder en tiempo de compilación y cuando declaramos dicho Array mediante MXML.

Ejemplo

Ejemplo.mxml

com/madeinflex/Usuario.as

ListaUsuarios.mxml

Si modificamos Ejemplo.mxml y añadimos un elemento de cualquier tipo que no sea Usuario, por ejemplo un String, obtendremos un error diciendo algo como: “In initializer for usuarios’: type String not assignable to target Array element type”:
Ejemplo de Error

Conclusión

Es un buen ejemplo de integración con Flex Builder a través de metadata pero la funcionalidad en si realmente no es demasiado útil ya que solo funciona para código MXML y en tiempo de compilación.

Nota: Si se requiere tener Arrays tipados en tiempo de ejecución ver la clase __AS3__.vec.Vector disponible a partir de Flash Player 10.

3 Comentarios

  1. Carlos Aza

    Hola,

    Tengo una duda que se sale un poco del tema de esta entrada, pero no he encontrado otro mejor dentro de MadeInFlex para colgarla. En una aplicación típica, donde hay mantenimientos y búsquedas en tablas, ¿cómo hacéis para que los valores que son números y lógicos (booleans) puedan ser null? Como sabéis, en ActionScript no hay posibilidad de hacer que un boolean sea null, por lo que siempre se pasará ‘false’ cuando haya un criterio de búsqueda con un boolean.

    ¿Lo habéis resuelto de alguna manera?

    Gracias y un saludo,

    Carlos Aza

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acerca de Made In Flex

Made In Flex es una comunidad de desarrolladores de Apache Flex creada en 2006.

Apache Flex, anteriormente conocido como Adobe Flex, es un SDK (kit de desarrollo de software) para crear aplicaciones enriquecidas - multiplataforma basadas en Adobe Flash donado por Adobe a la fundación Apache in 2011 y promocionado a proyecto de primer nivel en Diciembre de 2012.

Actualmente estamos cambiando muchos aspectos del sitio web para ofrecer un sitio útil para toda la comunidad que tenga en cuenta las necesidades actuales.

Últimas Fotos

Instalador de Apache Flex

Entrar o Registrase