Salida de la generación de envoltura Java

La salida de la generación de envoltura Java es la siguiente:

Puede utilizar los beans generados para envolver llamadas a programas de servidor de clases Java tales como servlets, EJB o aplicaciones Java. Se generan los siguientes tipos de clases:

La tabla siguiente muestra los nombres de los diversos tipos de componentes de envoltura Java generados:

Nombres de los componentes de envoltura Java generados
Tipo y nombre de componente Qué se genera
Programa denominado P Una clase denominada PWrapper en PWrapper.java
Un registro denominado R utilizado como parámetro Una clase denominada R en R.java
Un área subestructurada S en el registro R utilizado como parámetro Una clase denominada R.S en R.java
Componente de opciones de enlace denominado L Archivo de propiedades de enlace denominado L.properties
  1. Para los tipos de componente indicados, es posible que existan dos o más componentes con el mismo nombre. En ese caso, el nombre del segundo tendrá un sufijo adicional, $v2. El nombre del tercero tendrá un sufijo $v3, el cuarto tendrá $v4, etc.

Al solicitar que un componente de programa se genere como envoltura Java, EGL produce una clase Java para cada uno de los siguientes ejecutables:

Además, la clase generada para cada registro incluye una clase interior (o una clase dentro de una clase interna) para cada elemento de estructura que tiene estas características:
Cada clase generada se almacena en un archivo. El generador de EGL crea nombres utilizados en las envolturas Java como se indica a continuación:

Si uno de los parámetros del programa es un registro, EGL genera también una clase de envoltura para esa variable. Si el programa Prog contiene un parámetro de registro con un typeDef denominado Rec, la clase de envoltura del parámetro se denominará Rec. Si el typeDef de un parámetro tiene el mismo nombre que el programa, la clase de envoltura para el parámetro tendrá un sufijo "Record".

El generador también genera una envoltura si un parámetro de registro tiene un elemento de matriz y el elemento tiene otros elementos debajo. Esta envoltura de matriz subestructurada se convierte en una clase interna de la envoltura de registro. En la mayoría de casos, un elemento de matriz de subestructura denominado AItem en Rec se envolverá en una clase denominada Rec.AItem. El registro puede contener dos elementos de matriz subestructurada con el mismo nombre, en cuyo caso las envolturas de elemento se denominan utilizando los nombres calificados de los elementos. Si el nombre calificado del primer AItem es Top1.AItem y el nombre calificado del segundo es Top2.Middle2.AItem, las clases se denominarán Rec.Top1$_aItem y Rec.Top2$_middle2$_aItem. Si el nombre de una matriz subestructurada es el mismo que el nombre del programa, la clase de envoltura para la matriz subestructurada tendrá un sufijo Structure.

Se generan métodos para establecer y obtener el valor de elementos de bajo nivel en cada envoltura de registro y envoltura de matriz subestructurada. Si dos elementos de bajo nivel del registro o matriz subestructurada tienen el mismo nombre, el generador utiliza el esquema de nombre calificado descrito en el párrafo anterior.

Se generan métodos adicionales en envolturas para registro SQL. Para cada elemento del registro, el generador crea métodos para obtener y establecer su valor de indicador nulo y métodos para obtener y establecer su indicador de longitud SQL.

Puede utilizar la herramienta Javadoc para construir un archivo nombreclase.html una vez se haya compilado la clase. El archivo HTML describe las interfaces públicas para la clase. Si utiliza archivos HTML creados por Javadoc, asegúrese de que son una envoltura Java. Los archivos HTML generados desde una envoltura Java de VisualAge son distintos de los generados desde una envoltura Java de EGL.

Ejemplo

A continuación se muestra un ejemplo de un componente de registro con una matriz subestructurada:

   Record myRecord type basicRecord
     10 MyTopStructure[3];
       15 MyStructureItem01 CHAR(3);
       15 MyStructureItem02 CHAR(3);
   end
En relación con el componente de programa, el archivo de salida se denomina como se indica a continuación:
  aliasWrapper.java
donde
alias
Es el nombre de alias, si existe, que se ha especificado en el componente de programa. Si no se ha especificado el nombre externo, se utiliza el nombre del componente de programa.
En relación con cada registro declarado como un parámetro de programa, el archivo de salida se denomina como se indica a continuación:
nombreRegistro.java
donde
nombreRegistro
Es el nombre del componente de registro
En relación con una matriz subestructurada, el nombre y posición de la clase interna depende de si el nombre de matriz es exclusivo en el registro:
  • Si el nombre de matriz es exclusivo en el registro, la clase interna se encuentra dentro de la clase de registro y se denomina como se indica a continuación:
    nombreRegistro.nombreIs
    donde
    nombreRegistro
    Es el nombre del componente de registro
    nombreIs
    Es el nombre de la matriz
  • Si el nombre de matriz no es exclusivo en el registro, el nombre de la clase interna se basa en el nombre totalmente calificado de la matriz, con un calificador separado del siguiente por una combinación del signo de dólar y ($) subrayado (_). Por ejemplo, si la matriz está en el tercer nivel del registro, la clase generada es una clase interna de la clase de registro y se denomina como se indica a continuación:
    nombreSuperior$_segundoNombre$_nombreIs    
    donde
    nombreSuperior
    Es el nombre del elemento de estructura de nivel superior
    segundoNombre
    Es el nombre del elemento de estructura de segundo nivel
    nombreIs
    Es el nombre del elemento de matriz subestructurada
    Si hay otra matriz con el mismo nombre subordinada al nivel superior del registro, la clase interna también estará dentro de la clase de registro y se denomina como se indica a continuación:
    nombreSuperior$_nombreIs
    donde
    nombreSuperior
    Es el nombre del elemento de estructura de nivel superior
    nombreIs
    Es el nombre del elemento de matriz subestructurada

    Finalmente, observe el caso siguiente: una matriz subestructurada tiene un nombre que no es exclusivo en el registro y la matriz está subordinada a otra matriz subestructurada cuyo nombre no es exclusivo en el registro. La clase para la matriz subordinada se genera como una clase interna de una clase interna.

Al generar una envoltura Java, también puede generar un archivo de propiedades Java y un archivo de propiedades de enlace si solicita establecer opciones de enlace durante la ejecución.

Tareas relacionadas
Generar envolturas Java

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