ページの先頭行へ戻る
J アダプタクラスジェネレータ V11.0 ユーザーズガイド
FUJITSU Software

5.5.7 インスタンスメソッド

説明

パブリックでないインスタンスメソッド(スタティックでないメソッド)は、COBOLのオブジェクトメソッドにマッピングします。

展開形式

METHOD-ID. 内部メソッド名 AS "外部メソッド名" [OVERRIDE].
     …
DATA DIVISION.
LINKAGE SECTION.
[パラメタ … ]
[復帰値 … ]
PROCEDURE DIVISION [USING パラメタ …] [RETURNING 復帰値]
                           RAISING FJ-JAVA-ERROR [例外クラス名].
END METHOD 内部メソッド名.

生成規則

  1. 内部メソッド名は、Jアダプタクラスジェネレータが内部的に使う名前で、クラス利用者からは見えません。

  2. 外部メソッド名は、このメソッドを一意に識別するための名前です。クラス利用者は、外部メソッド名によりメソッドを識別します。

  3. 外部メソッド名は、以下の規則により生成します。

    Javaメソッド名[-nn]
    • Javaのメソッド名をそのままCOBOLのメソッド名とする

    • すでに同名のメソッドが割り当てられている場合、名前の重なりを避けるために、2番目以降のメソッド名に対し、ハイフン(-)に続く2けたの番号(01~99)を振る(“5.8 名前の番号付け”参照)

    • 160文字を超えた場合は、161文字目以降を切り捨てる

  4. メソッドにパラメタが宣言されている場合、対応するパラメタを生成します。パラメタのデータ型の対応については、“5.5.1 データ型”を参照してください。

  5. メソッドに復帰値が宣言されている場合、対応する復帰値を生成します。復帰値のデータ型の対応については、“5.5.1 データ型”を参照してください。

  6. メソッドで宣言された例外およびFJ-JAVA-ERRORを指定したRAISING指定を生成します。

生成例

java.util.DateクラスのインスタンスメソッドgetTime()に対応するオブジェクトメソッドは、以下のように生成します。

METHOD-ID. JM-GETTIME AS "getTime".                              [1]
    …
LINKAGE SECTION.
01  RTN-VALUE  PIC S9(18) COMP-5. 
PROCEDURE DIVISION RETURNING RTN-VALUE RAISING FJ-JAVA-ERROR.
    …
END METHOD JM-GETTIME.
  1. “getTime”と言う名前のメソッドはひとつだけなので、番号をつけずに“getTime”と言う名前のメソッドを生成します。

ポイント

Javaメソッド名からCOBOLメソッド名を生成する際に、名前の一意性を保つために番号を付加します。どのJavaメソッドがどのCOBOLメソッドに対応するかは、クラスブラウザ、またはメソッド名対応表ファイルで確認できます。クラスブラウザの場合、メソッド選択時に表示されるパラメタから識別できます。メソッド名対応表ファイルの場合、Javaメソッドの引数の型から識別できます。