Visión general de las propiedades de EGL

La mayoría de componentes de EGL tienen un conjunto de propiedades que se utilizan para crear una salida adecuada durante la generación. Estas propiedades se establecen en un bloque set-value que es un área de código que se explica más adelante en este tema y que se describe con más detalle en Bloques set-value.

El conjunto de propiedades válidas varía según el contexto:

No se puede acceder a una propiedad en tiempo de ejecución. Cuando crea variables basadas en un componente de registro SQL, por ejemplo, la lógica escrita no puede recuperar ni cambiar los nombres asignados a la propiedad tableNames que se identifica con las tablas SQL a las que se accede por registro. Incluso aunque altere temporalmente un valor de propiedad en una declaración de variable, la lógica no podrá cambiar el valor especificado durante el desarrollo.

La falta de acceso de tiempo de ejecución a un valor de propiedad significa que cuando asigna el contenido de una variable o utiliza la variable como un argumento, el valor de propiedad no se transfiere conjuntamente con el contenido. Si copia datos de un registro SQL a otro, por ejemplo, no se hacen cambios en la especificación de a qué tablas SQL accede el registro destino. Igualmente, cuando pasa un registro SQL a una función EGL, el parámetro recibe contenido de campo, pero retiene las especificaciones de tabla SQL que se asignaron durante el desarrollo.

Los componentes EGL predefinidos como por ejemplo ConsoleField pueden incluir propiedades y campos predefinidos. A diferencia de las propiedades, los campos (denominados a veces atributos) están disponibles en tiempo de ejecución. La lógica que escribe puede leer el valor del campo y en muchos casos, cambiarlo.

Puede acceder a los campos predefinidos al acceder a los campos definidos. Puede utilizar un bloque set-value para establecer campos así como para establecer propiedades.
Nota: Se aplica una restricción a los campos de estructuras fijas. Puede utilizar bloques de establecimiento de valor para asignar los valores de las propiedades de nivel de campo primitivo, pero no para establecer los valores de los mismos campos.

Si realiza varias asignaciones al mismo campo o propiedad en un bloque set-value, la última asignación surte efecto. Esta regla también se aplica a los campos de propiedades complejas que se describen en la próxima sección.

Propiedades complejas

En algunos casos, las características de generación se especifican asignando propiedades complejas, cada una de las cuales se compone de un conjunto de campos de propiedad. Puede utilizar una sintaxis como la siguiente, por ejemplo, para declarar un servicio EGL y para definir la propiedad compleja @EGLBinding, que contiene los detalles necesarios para suministrar acceso al servicio:
  myService myServicePart 
  { @EGLBinding
    {commType="DIRECT",
     serviceName="myService",
     servicePackage="my.useful.service"}
  }

Durante la ejecución no puede accederse a una propiedad compleja ni a sus campos.

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.