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

5.5.2 クラス/インタフェース

説明

パブリックなクラスおよびインタフェースは、COBOLのクラスにマッピングします。

アダプタクラスの継承関係は、対応するJavaクラスの継承関係と同じです。ただし、以下のクラスは、他のクラス/インタフェースを継承しません。しかし、生成するアダプタクラスはFJ-JAVA-BASEを継承します。

また、以下のインタフェースは、他のクラス/インタフェースを継承しません。しかし、生成するアダプタクラスはjava.lang.Objectを継承します。

展開形式

CLASS-ID. 内部クラス名-1 AS "外部クラス名" INHERITS 内部クラス名-2.
    …
FACTORY.
    …
  《コンストラクタに対応するファクトリメソッド》
  《クラス変数に対応するプロパティメソッド》
  《クラスメソッドに対応するファクトリメソッド》
END FACTORY.
OBJECT.
    …
  《インスタンス変数に対応するプロパティメソッド》
  《インスタンスメソッドに対応するオブジェクトメソッド》
END OBJECT.
END CLASS 内部クラス名-1.

生成規則

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

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

  3. 外部クラス名は、以下の規則により生成します。

    [パッケージ名-[パッケージ名- … ]]クラス名/インタフェース名
    • パッケージ名で完全修飾したクラス名/インタフェース名のピリオド(.)をハイフン(-)に置換

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

  4. ファクトリ定義には、以下の3種類のメソッドを生成します。

  5. オブジェクト定義には、以下の2種類のメソッドを生成します。

生成例

java.util.Dateクラスのアダプタクラスは、以下のように生成します。

CLASS-ID. J-DATE AS "java-util-Date" INHERITS J-OBJECT.    [1]
    …
REPOSITORY.
    CLASS J-OBJECT AS "java-lang-Object".                  [2]
    …
END CLASS J-DATE.
  1. java.util.Dateクラスのアダプタクラスの名前は、java-util-Dateになります。

  2. INHERITS句のJ-OBJECTの外部名は、java-lang-Objectです。つまり、java-util-Dateは、java-lang-Objectを継承しています。

注意

NetCOBOLでは、クラス名の大文字・小文字は区別しません。したがって、外部クラス名が大文字小文字の違いしかないクラスは、同時に扱えません。

ポイント

java.lang.Stringのアダプタクラスを生成する場合、java.lang.Stringクラスで定義されたパブリックメソッドを生成し、さらに、文字列データの参照・設定用メソッドを生成します。

(“5.6 java-lang-Stringクラス”参照)