COBOL2002 Javaプログラム呼び出し機能ガイド


6.1.3 クラス操作

ここでは,Javaプログラム呼び出し機能が提供するクラス操作のサービスルーチンについて説明します。

〈この項の構成〉

(1) CBLJGETOBJCLASS

CBLJGETOBJCLASSサービスルーチンは,Javaのインスタンスの属するJavaクラスのJavaクラス参照を返します。

形式
CALL 'CBLJGETOBJCLASS' USING  引数1  引数2  引数3.
引数
  • 引数1には,CBLJENV集団項目を指定します。CBLJENV集団項目については,「6.1.1 サービスルーチンで使用する引数」の「(1) CBLJENV集団項目」を参照してください。

  • 引数2には,Javaオブジェクト参照を持つポインタ項目を指定します。

  • 引数3には,Javaクラス参照を受け取るポインタ項目を指定します。

戻り値

RETURN-CODE特殊レジスタには常に0を返します。

Javaクラス参照の取得に失敗した場合は実行時エラーとなります。

(2) CBLJGETNAME

CBLJGETNAMEサービスルーチンは,java/lang/Class.getNameメソッドを呼び出して,Javaクラス参照の示すJavaクラスの名前(パッケージ名とクラス名の区切りはピリオド)を返します。

形式
CALL 'CBLJGETNAME' USING  引数1  引数2  引数3  引数4.
引数
  • 引数1には,CBLJENV集団項目を指定します。CBLJENV集団項目については,「6.1.1 サービスルーチンで使用する引数」の「(1) CBLJENV集団項目」を参照してください。

  • 引数2には,Javaクラス参照を持つポインタ項目を指定します。

  • 引数3には,クラス名を受け取る英数字項目を指定します。

  • 引数4には,クラス名を受け取る英数字項目のサイズ(文字数)を持つ,4バイト2進形式の数字項目を指定します。

戻り値

RETURN-CODE特殊レジスタに0(正常)または1(サイズが不足)を返します。

名前の取得に失敗した場合は実行時エラーとなります。

注意事項

RETURN-CODEが1の場合,引数3に指定した項目に,引数4に指定した長さまでのJavaクラスの名前を設定します。

(3) CBLJGETSUPERCLASS

CBLJGETSUPERCLASSサービスルーチンは,Javaクラス参照の示すJavaクラスのスーパークラスのJavaクラス参照を返します。

形式
CALL 'CBLJGETSUPERCLASS' USING  引数1  引数2  引数3.
引数
  • 引数1には,CBLJENV集団項目を指定します。CBLJENV集団項目については,「6.1.1 サービスルーチンで使用する引数」の「(1) CBLJENV集団項目」を参照してください。

  • 引数2には,Javaクラス参照を持つポインタ項目を指定します。

  • 引数3には,スーパークラスのJavaクラス参照を受け取るポインタ項目を指定します。

戻り値

RETURN-CODE特殊レジスタには常に0を返します。

スーパークラスの取得に失敗した場合は実行時エラーとなります。