Output of Java wrapper generation

The output of Java wrapper generation is as follows:

You can use the generated beans to wrap calls to server programs from non-EGL Java classes such as servlets, EJBs, or Java applications. The following types of classes are generated:

The following table shows the names of the various types of generated Java wrapper parts:

Names of generated Java wrapper parts
Part type and name What is generated
Program named P A class named PWrapper in PWrapper.java
Record named R used as a parameter A class named R in R.java
Substructured area S in record R used as a parameter A class named R.S in R.java
Linkage options part named L Linkage properties file named L.properties

  1. For the indicated part types, it is possible that two or more parts may exist with the same name. In that event the name of the second one will have an additional suffix, $v2. The name of the third will have a $v3 suffix, the fourth will have $v4, etc.

When you request that a program part be generated as a Java wrapper, EGL produces Java class for each of the following executables:

In addition, the class generated for each record includes an inner class (or a class within an inner class) for each structure item that has these characteristics:

Each generated class is stored in a file. The EGL generator creates names used in Java wrappers as follows:

If one of the parameters to the program is a record, EGL generates a wrapper class for that variable as well. If program Prog has a record parameter with a typeDef named Rec, the wrapper class for the parameter will be called Rec. If the typeDef of a parameter has the same name as the program, the wrapper class for the parameter will have a "Record" suffix.

The generator also produces a wrapper if a record parameter has an array item and the item has other items under it. This substructured array wrapper becomes an inner class of the record wrapper. In most cases, a substructured array item called AItem in Rec will be wrapped by a class called Rec.AItem. The record may contain two substructured array items with the same name, in which case the item wrappers are named by using the qualified names of the items. If the qualified name of the first AItem is Top1.AItem and the qualified name of the second is Top2.Middle2.AItem, the classes will be named Rec.Top1$_aItem and Rec.Top2$_middle2$_aItem. If the name of a substructured array is the same as the name of the program, the wrapper class for substructured array will have a Structure suffix.

Methods to set and get the value of low-level items are generated into each record wrapper and substructured array wrapper. If two low-level items in the record or substructured array have the same name, the generator uses the qualified-name scheme described in the previous paragraph.

Additional methods are generated into wrappers for SQL record variables. For each item in the record variable, the generator creates methods to get and set its null indicator value and methods to get and set its SQL length indicator.

You can use the Javadoc tool to build a classname.html file once the the class has been compiled. The HTML file describes the public interfaces for the class. If you use HTML files created by Javadoc, be sure that it is an EGL Java wrapper. HTML files generated from a VisualAge Generator Java wrapper are different from those generated from an EGL Java wrapper.

Example

An example of a record part with a substructured array is as follows:

   Record myRecord type basicRecord
     10 MyTopStructure[3];
       15 MyStructureItem01 CHAR(3);
       15 MyStructureItem02 CHAR(3);
   end

In relation to the program part, the output file is named as follows:

  aliasWrapper.java
where

alias

Is the alias name, if any, that is specified in the program part. If the external name is not specified, the name of the program part is used.

In relation to each record declared as a program parameter, the output file is named as follows:

recordName.java
where

recordName

Is the name of the record part

In relation to a substructured array, the name and position of the inner class depends on whether the array name is unique in the record:

When you generate a Java wrapper, you also generate a Java properties file and a linkage properties file if you request that linkage options be set at run time.

Related concepts
Build plan
Enterprise JavaBean (EJB) session bean
Java wrapper
Linkage options part
Linkage properties file
Results file

Related tasks
Generating Java wrappers

Related reference
callLink element
Java wrapper classes