Java™ ラッパー生成の出力は以下のとおりです。
下の表に、生成される Java ラッパー・パーツのさまざまな型の名前を示します。
| パーツ型と名前 | 生成されるもの |
|---|---|
| P という名前のプログラム | PWrapper.java 内の PWrapper という名前のクラス |
| パラメーターまたは入力レコードとして使用される R という名前のレコード | R.java 内の R というクラス |
| パラメーターとして使用されるレコード R 内の副構造領域 S | R.java 内の R.S という名前のクラス |
| L という名前のリンケージ・オプション・パーツ | L.properties という名前のリンケージ・プロパティー・ファイル |
プログラム・パーツを Java ラッパーとして生成するように要求すると、EGL では以下の実行可能プログラムのそれぞれに対して Java クラスを生成します。
プログラムへのパラメーターのいずれかがレコードである場合、EGL ではその変数に対するラッパー・クラスも生成します。 プログラム Prog に名前が Rec で型定義されたレコード・パラメーターがある場合、そのパラメーターのラッパー・クラスの名前は Rec になります。 パラメーターの型定義がプログラムと同じ名前である場合、そのパラメーターのラッパー・クラスには接尾部「Record」が付加されます。
レコード・パラメーターに配列フィールドがあり、そのフィールドの下に別のフィールドがある場合、生成プログラムはラッパーも生成します。 この副構造配列ラッパーは、レコード・ラッパーの内部クラスになります。 ほとんどの場合、Rec 内の副構造配列フィールド AField は、Rec.AField というクラスによってラップされます。 レコードに同じ名前の 2 つの副構造配列フィールドが含まれていることがあり、その場合のフィールド・ラッパーの名前は各フィールドの修飾名を使用して付けられます。 最初のフィールド AField の修飾名が Top1.AField であり、2 番目のフィールドの修飾名が Top2.Middle2.AField である場合、クラスの名前は Rec.Top1$_aField および Rec.Top2$_middle2$_aField になります。 副構造配列の名前がプログラムの名前と同じ場合、副構造配列のラッパー・クラスには接尾部 Structure が付加されます。
低レベルフィールドの値を設定および取得するメソッドは、各レコード・ラッパーおよび副構造配列ラッパーに生成されます。 レコードまたは副構造配列内の 2 つの低レベル・フィールドが同じ名前である場合、生成プログラムでは上記の段落で説明されている修飾名の方式を使用します。
追加のメソッドは、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 MyStructureField01 CHAR(3);
15 MyStructureField02 CHAR(3);
end
aliasWrapper.java
ここでrecordName.java
ここでrecordName.siName
ここでTopname$_Secondname$_Siname
ここでTopname$_Siname
ここで最後に、副構造配列の名前がレコード内で固有ではなく、その配列がレコード内で固有ではない名前の別の副構造配列に従属している場合について考えてみます。 従属する配列のクラスは、内部クラスの内部クラスとして生成されます。
Java ラッパーの生成時には、リンケージ・オプションがランタイムに設定されるように要求した場合、Java プロパティー・ファイルおよびリンケージ・プロパティー・ファイルも生成されます。