独自クラスでのメソッドの呼び出し

独自の Java クラスを使用する場合、EXTPROC キーワードおよび CLASS キーワードで指定したクラスが、使用するクラスの名前になります。 そのクラスがパッケージの一部である場合はキーワードにパッケージ情報を含めます。 例えば、次の 2 つのクラスを考えてみてください。

図 81.
 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'

図 82. パッケージ内の 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