Tipos de datos estructurados
Alcance
Objetos: Transactions, Work Panels, Web Panels, Procedures, Reports
Lenguajes: Java, .NET, Visual Basic
Interfaces: Web, Win
Introducción
El objeto GeneXus Structured Data Type (SDT), permite definir estructuras de datos. Estas representan, de una forma simple, datos cuya estructura está compuesta por varios elementos. Esto facilita y potencia laprogramación.
Descripción
Los SDT tienen múltiples usos posibles:
- facilitan el pasaje de parámetros (en particular permite proveer/consumir información estructurada en el uso de webservices)
- simplifican la lectura y escritura automática de XML (con funciones de alto nivel),
- permite mejorar la legibilidad del código,
- permite el manejo de listas de largovariables de elementos.
Detallamos algunos de los posibles casos de uso.
Se podrán definir variables, en cualquier objeto, basados en un objeto estructurado (SDT) o una estructura definida en el.
En Edición el objeto tiene dos secciones
- Estructura : aquí mediante un editor es posible definir la estructura del objeto.
- Documentación : documentación del objeto.
Comotodos los objetos GeneXus, también tiene asociado un conjunto de propiedades y métodos.
Estructura
La estructura puede ser multinivel, semejante a la de las transacciones, cada nivel puede tener uno o más elementos (o ítems). Podemos clasificarlos en elementos simples o elementos compuestos (por otros elemento).
Elementos simples
En el diseño de un SDT, al definir un elemento, se debeespecificar la propiedad Name que identifica al elemento, por lo tanto no pueden existir dos elementos con el mismo nombre. La propiedad Data type permite seleccionar entre los siguientes tipos de datos :
- Tipos básicos de GeneXus (numérico, date, etc.)
- Dominios
- otro SDT ya definido.
La propiedad Collection indica si el elemento tiene o no múltiplesinstancias (puede repetirse). Tiene dos valores posibles, True o False
Elementos Compuestos
Se identifican con un bullet de color, en el editor, y son aquellos que definen un nuevo agrupamiento de elementos (una nueva colección o un agrupamiento de elementos simples).
Tiene las mismas propiedades que los elementos simples, pero no se habilita la propiedad data type. Hay una excepción en el casode un SDT que sea colección de tipo simple, ver caso de uso 2.3
Se habilita la propiedad Item Name solo cuando el elemento compuesto define una Collection (propiedad Collection en True).Esta propiedad indica el nombre de cada uno de sus elementos. Este nombre, calificado por el nombre del SDT, será seleccionable como tipo de datos para la definición de variables, esto significa que secrearan dos tipos de datos uno con el “Name” (nombre del SDT) y otro con Name.ItemName.
Documentación
Permite escribir un texto descriptivo del objeto.
Propiedades del objeto
El objeto SDT tiene un Name que lo identifica. No es posible definir un objeto GeneXus con el mismo nombre del SDT. El formato es el mismo de los objetos GeneXus en cuanto a caracteres válidos para inicio, caracteressiguientes al primero válidos, cantidad de caracteres, etc.
Tiene un Description y un External Name. Este último es el nombre con el que se publica el tipo de datos en el WSDL, para el caso de Webservices. El valor por defecto es el de la propiedad Name.
La propiedad External Namespace es un string que representa el name space que aplica al External name (WSDL). El valor por defecto es el nombredel modelo sustituyendo los caracteres no válidos.
Operadores
NEW
Este operador retorna una nueva instancia inicializada, o sea una nueva referencia al tipo de datos que se especifica. La sintáxis es:
New SDTName()
SDTName es el nombre de un SDT o un ítem de una collection (cualquiera que pueda ser el tipo de datos de una variable). Por ejemplo
A = New...
Regístrate para leer el documento completo.