説明
パブリックなクラス変数(スタティックフィールド)は、COBOLのプロパティメソッド(ファクトリ)にマッピングします。
展開形式
METHOD-ID. GET PROPERTY プロパティ名. … LINKAGE SECTION. 01 プロパティ値 データ記述項. PROCEDURE DIVISION RETURNING プロパティ値 RAISING FJ-JAVA-ERROR. … END METHOD プロパティ名. METHOD-ID. SET PROPERTY プロパティ名. … LINKAGE SECTION. 01 プロパティ値 データ記述項. PROCEDURE DIVISION USING プロパティ値 RAISING FJ-JAVA-ERROR. … END METHOD プロパティ名.
生成規則
プロパティ名は、このプロパティを一意に識別するための名前です。クラス利用者は、プロパティ名によりプロパティを識別します。
プロパティ名は、以下の規則により生成します。
JF-Javaフィールド名[-nn]
“JF-”の後に、Javaのフィールド名を大文字に変換して付加
すでに同名のプロパティ名が割り当てられている場合、名前の重なりを避けるために、2番目以降のプロパティ名に対し、ハイフン(-)に続く2けたの番号(01~99)を振る(“5.8 名前の番号付け”参照)
30文字を超えた場合は、31文字目以降を切り捨てる
ファイナルが指定されている場合、SET指定のプロパティメソッドは生成しません。
プロパティ値は、プロパティの値の受け渡しに使うパラメタです。データ記述項は、Javaのフィールドの属性に対応するCOBOLの記述項を展開します。データ型の対応については、“5.5.1 データ型”を参照してください。
FJ-JAVA-ERRORを指定したRAISING指定を生成します。
生成例
java.lang.Systemクラスのクラス変数out(スタティック・ファイナル フィールド)に対応するプロパティメソッドは、以下のように生成します。
METHOD-ID. GET PROPERTY JF-OUT. [1] … LINKAGE SECTION. 01 GET-VALUE OBJECT REFERENCE J-PRINTSTREAM. [2] PROCEDURE DIVISION RETURNING GET-VALUE RAISING FJ-JAVA-ERROR. … END METHOD JF-OUT.
プロパティ名は、“JF-”にJavaのフィールド名を大文字化した“OUT”を付加して生成します。
outの属性はjava.io.PrintStreamなので、J-PRINTSTREAM(java-io-PrintStreamの内部クラス名)にマッピングします。
ポイント
フィールド名からプロパティ名を生成する際に、名前の一意性を保つために番号を付加します。どのフィールドがどのプロパティに対応するかは、クラスブラウザで確認できます。