Java ラッパーの生成
EGL Java™ ラッパーは、非 EGL Java コードから EGL メインプログラムまたは呼び出し先プログラムを呼び出すために使用される一連のクラスからなります。例えば、Struts 内の Action クラスから、または非 J2EE Java プログラムから呼び出します。 Java ラッパー・クラスは、関連するプログラムの生成時に生成できます。
Java ラッパーは、一連のクラスで構成されています。 これらのクラスは、サーブレットまたは非 EGL 生成の Java プログラムと、生成されたプログラムまたは EJB セッション Bean との間のインターフェースとして機能します。
以下の特性のビルド記述子を使用する場合に、Java ラッパー・クラスが生成されます。
- enableJavaWrapperGen ビルド記述子オプションは、yes または only に設定されます。
- linkage ビルド記述子オプションは、callLink エレメントが含まれるリンケージ・オプション・パーツを参照して、ラッパーからプログラムへの呼び出しをガイドします。
- 以下の 2 つのステートメントのいずれかが適用されます。
- ラッパーからプログラムへの呼び出しは、EJB セッション Bean を経由します (callLink エレメントの type プロパティーが ejbCall に設定される場合)。
この場合は、呼び出されるプログラムは EGL 呼び出し先プログラムでなければなりません。
- ラッパーからプログラムへの呼び出しは、リモートです (callLink エレメントでは、type プロパティーが remoteCall に設定される場合、また callLink エレメントでは、javaWrapper プロパティーが yes に設定される場合)。この場合は、呼び出されるプログラムは EGL 呼び出し先プログラムまたはメインプログラムである可能性があります。EGL メインプログラムに関しては、以下の規則が適用されます。
- callLink 要素と remoteComType 要素は、DIRECT または DISTINCT のいずれかに設定されます。 いずれの場合も、ネイティブ Java コードと EGL 生成のプログラムは、同じ Java 仮想マシン内で実行されます。Java ラッパーと EGL 生成のプログラム間のデータ変換を処理するために必要な EGL ミドルウェアが使用されるため、呼び出しはリモートです。
- メインプログラムは、transfer to program を実行できますが、transfer to transaction は実行できません。
- ラッパーからプログラムへの呼び出しは、EJB セッション Bean を経由します (callLink エレメントの type プロパティーが ejbCall に設定される場合)。
各クラスの使用方法について詳しくは、『Java ラッパー・クラス』を参照してください。 クラス名について詳しくは、『Java ラッパー生成の出力』を参照してください。
Java ラッパーを使用するには、以下のステップを実行します。
- 生成されたプログラムに固有の Java ラッパー・クラスを生成します。
- それらのラッパー・クラスを非生成の Java コードに組み込みます。
- 非生成の Java コードから、ラッパー・クラス・メソッドを呼び出して実際の呼び出しを実行し、以下の 2 つの形式間でデータを変換します。
- Java で使用されるデータ型形式
- EGL 生成のプログラムに対するデータの受け渡し時に必要なプリミティブ型形式