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

5.5.5 クラスメソッド

説明

パブリックなクラスメソッド(スタティックメソッド)は、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.lang.Mathクラスのクラスメソッドabs(long)に対応するファクトリメソッドは、以下のように生成します。

METHOD-ID. JM-ABS-01 AS "abs-01".                              [1]
    …
LINKAGE SECTION.
01  RTN-VALUE  PIC S9(18) COMP-5. 
01  PARA-1  PIC S9(18) COMP-5.
PROCEDURE DIVISION USING PARA-1 RETURNING RTN-VALUE RAISING FJ-JAVA-ERROR.
    …
END METHOD JM-ABS-01.
  1. “abs”と言う名前のメソッドは複数宣言されているので、2番目に宣言されているabs(long)に対しては、“abs-01”と言う名前のメソッドを生成します。

ポイント

Javaメソッド名からCOBOLメソッド名を生成する際に、名前の一意性を保つために番号を付加します。どのJavaメソッドがどのCOBOLメソッドに対応するかは、メソッド名対応表ファイルに出力されるJavaメソッドの引数の型から識別できます。