Java™ 包装器生成输出如下所示:
下表显示了生成的各种类型的 Java 包装器部件的名称:
部件类型和名称 | 生成的内容 |
---|---|
名为 P 的程序 | PWrapper.java 中名为 PWrapper 的类 |
用作参数的名为 R 的记录 | R.java 中名为 R 的类 |
用作参数的记录 R 中具有子结构的区域 S | R.java 中名为 R.S 的类 |
名为 L 的链接选项部件 | 名为 L.properties 的链接属性文件 |
当请求将某个程序部件生成为 Java 包装器时,EGL 会为下列每个可执行文件生成 Java 类:
如果程序的其中一个参数是记录,则 EGL 还会为该变量生成包装器类。如果程序 Prog 具有 typeDef 命名为 Rec 的记录参数,则该参数的包装器类将名为 Rec。如果参数的 typeDef 与程序同名,则该参数的包装器类将具有“Record”后缀。
如果记录参数具有数组项且该项下面具有其它项,则生成器还会生成包装器。这种具有子结构的数组包装器成为记录包装器的内部类。在大多数情况下,Rec 中名为 AItem 的具有子结构的数组项将由名为 Rec.AItem 的类包装。记录可包含两个同名的具有子结构的数组项,在这种情况下,项包装器是使用该项的限定名来命名的。如果第一个 AItem 的限定名是 Top1.AItem 且第二个的限定名是 Top2.Middle2.AItem,则类将被命名为 Rec.Top1$_aItem 和 Rec.Top2$_middle2$_aItem。如果具有子结构的数组的名称与程序的名称相同,则具有子结构的数组的包装器类将具有 Structure 后缀。
设置和获取低层项的值的方法被生成到每个记录包装器和具有子结构的数组包装器中。如果记录或具有子结构的数组中有两个同名的低层项,则生成器使用在前面段落中描述的限定名方案。
其它方法被生成到 SQL 记录变量的包装器中。对于记录变量中的每一项,生成器会创建获取和设置其空指示符值的方法以及获取和设置其 SQL 长度指示符的方法。
一旦编译了类,就可以使用 Javadoc 工具来构建 classname.html 文件。HTML 文件描述类的公共接口。如果使用 Javadoc 创建的 HTML 文件,则确保它是 EGL Java 包装器。从 VisualAge® Generator Java 包装器生成的 HTML 文件不同于从 EGL Java 包装器生成的那些 HTML 文件。
以下是一个带有具有子结构的数组的记录部件的示例:
Record myRecord type basicRecord 10 MyTopStructure[3]; 15 MyStructureItem01 CHAR(3); 15 MyStructureItem02 CHAR(3); end
aliasWrapper.java
其中recordName.java
其中recordName.siName其中
Topname$_Secondname$_Siname其中
Topname$_Siname其中
最后,请参照以下情况:具有子结构的数组的名称在记录中不是唯一的,并且该数组是另一个具有子结构的数组的下级,后一个数组的名称在记录中也不是唯一的。下级数组的类是作为内部类的内部类生成的。
当生成 Java 包装器时,还会生成 Java 属性文件和链接属性文件(如果请求在运行时设置该链接选项的话)。
相关任务
生成 Java 包装器
相关参考
callLink 元素
Java 包装器类