説明
パブリックなクラスおよびインタフェースは、COBOLのクラスにマッピングします。
アダプタクラスの継承関係は、対応するJavaクラスの継承関係と同じです。ただし、以下のクラスは、他のクラス/インタフェースを継承しません。しかし、生成するアダプタクラスはFJ-JAVA-BASEを継承します。
java.lang.Objectクラス
また、以下のインタフェースは、他のクラス/インタフェースを継承しません。しかし、生成するアダプタクラスはjava.lang.Objectを継承します。
他のインタフェースを継承しないインタフェース
展開形式
CLASS-ID. 内部クラス名-1 AS "外部クラス名" INHERITS 内部クラス名-2. … FACTORY. … 《コンストラクタに対応するファクトリメソッド》 《クラス変数に対応するプロパティメソッド》 《クラスメソッドに対応するファクトリメソッド》 END FACTORY. OBJECT. … 《インスタンス変数に対応するプロパティメソッド》 《インスタンスメソッドに対応するオブジェクトメソッド》 END OBJECT. END CLASS 内部クラス名-1.
生成規則
内部クラス名-1および内部クラス名-2は、Jアダプタクラスジェネレータが内部的に使う名前で、クラス利用者からは見えません。
外部クラス名は、このクラスを一意に識別するための名前です。クラス利用者は、外部クラス名によりクラスを識別します。
外部クラス名は、以下の規則により生成します。
[パッケージ名-[パッケージ名- … ]]クラス名/インタフェース名
パッケージ名で完全修飾したクラス名/インタフェース名のピリオド(.)をハイフン(-)に置換
160文字を超えた場合は、161文字目以降を切り捨てる
ファクトリ定義には、以下の3種類のメソッドを生成します。
コンストラクタに対応するファクトリメソッド(“5.5.3 コンストラクタ”参照)
クラス変数に対応するプロパティメソッド(“5.5.4 クラス変数”参照)
クラスメソッドに対応するファクトリメソッド(“5.5.5 クラスメソッド”参照)
オブジェクト定義には、以下の2種類のメソッドを生成します。
インスタンス変数に対応するプロパティメソッド(“5.5.6 インスタンス変数”参照)
インスタンスメソッドに対応するオブジェクトメソッド(“5.5.7 インスタンスメソッド”参照)
生成例
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.
java.util.Dateクラスのアダプタクラスの名前は、java-util-Dateになります。
INHERITS句のJ-OBJECTの外部名は、java-lang-Objectです。つまり、java-util-Dateは、java-lang-Objectを継承しています。
注意
NetCOBOLでは、クラス名の大文字・小文字は区別しません。したがって、外部クラス名が大文字小文字の違いしかないクラスは、同時に扱えません。
ポイント
java.lang.Stringのアダプタクラスを生成する場合、java.lang.Stringクラスで定義されたパブリックメソッドを生成し、さらに、文字列データの参照・設定用メソッドを生成します。
(“5.6 java-lang-Stringクラス”参照)