独自クラスでのメソッドの呼び出し
独自の Java™ クラスを使用する場合、EXTPROC キーワードおよび CLASS キーワードで指定したクラスが、使用するクラスの名前になります。そのクラスがパッケージの一部である場合はキーワードにパッケージ情報を含めます。 例えば、次の 2 つのクラスを考えてみてください。
class Simple
{
static void method (void)
{
System.out.println ("Simple method");
}
}
package MyPkg;
class PkgClass
{
static void method (void)
{
System.out.println ("PkgClass method");
}
}
Simple クラス・ファイルが /home/myclasses/Simple.class の場合は、 ディレクトリー /home/myclasses を CLASSPATH 環境変数に指定し、'Simple' をクラス名として RPG キーワードに指定します。
PkgClass クラス・ファイルが /home/mypackages/MyPkg/PkgClass.class の場合は、 ディレクトリー /home/mypackages (パッケージが含まれるディレクトリー) を CLASSPATH 環境変数に指定し、'MyPkg.PkgClass' (パッケージ修飾された Java クラス) をクラス名として RPG キーワードに指定します。
RPG キーワードのクラス名は Java クラスの import ステートメントで指定するものと同一の名前です。クラス・ファイルの位置、またはパッケージを含むディレクトリーの位置を指定するには、CLASSPATH 環境変数を使用します。
注: 注: クラスが jar ファイル内に入っている場合には、classpath で jar ファイル自身を指定します。
===> ADDENVVAR CLASSPATH '/home/myclasses:/home/mypackages:/home/myjarfiles/j1.jar'
図 1. パッケージ内の Java メソッドのための RPG プロトタイプの作成
D simpleMethod PR EXTPROC(*JAVA
D : 'Simple'
D : 'method')
D STATIC
D pkgMethod PR EXTPROC(*JAVA
D : 'Pkg.PkgClass'
D : 'method')
D STATIC