説明
以下の場合に、配列に対応するアダプタクラスを作成します。
パブリックなコンストラクタのパラメタとして配列を使用している場合
パブリックなフィールド(スタティック/非スタティック)の型が配列の場合
パブリックなメソッド(スタティック/非スタティック)のパラメタおよび復帰値として配列を使用している場合
ただし、以下の属性が一致している配列は、同一のアダプタクラスに対応付けます。
配列要素の型
次元数
展開形式
CLASS-ID. 内部クラス名-1 AS "外部クラス名" INHERITS 内部クラス名-2. … FACTORY. … 《NEW-ARRAYメソッド》 END FACTORY. OBJECT. … 《GET-ARRAY-LENGTHメソッド》 《GET-ARRAY-ELEMENTメソッド》 《SET-ARRAY-ELEMENTメソッド》 END OBJECT. END CLASS 内部クラス名-1.
生成規則
内部クラス名-1および内部クラス名-2は、Jアダプタクラスジェネレータが内部的に使う名前で、クラス利用者からは見えません。
外部クラス名は、このクラスを一意に識別するための名前です。クラス利用者は、外部クラス名によりクラスを識別します。
外部クラス名は、以下の規則により生成します。
JA-次元数-要素型名
“JA-”の後に、次元数(1~9)と要素型名をハイフン(-)でつないで付加する
要素型名は、型に応じて以下の形式で生成する
オブジェクトの場合は、Javaクラスに対応するアダプタクラスの外部クラス名(“5.5.2 クラス/インタフェース”参照)
基本型の場合は、型を表すJavaのキーワード(boolean、byte、char、short、int、long、float、double)
160文字を超えた場合は、161文字目以降を切り捨てる
ファクトリ定義およびメソッド定義に、以下のメソッドを生成します。
メソッド名 | 種別 | 機能 |
---|---|---|
NEW-ARRAY | ファクトリ | 配列オブジェクトを生成する |
GET-ARRAY-LENGTH | オブジェクト | 配列の要素数を求める |
GET-ARRAY-ELEMENT | オブジェクト | 配列要素から値を取り出す |
SET-ARRAY-ELEMENT | オブジェクト | 配列要素に値を設定する |
n次元の配列は、n-1次元の配列を要素として持つ1次元の配列として扱います。したがって、n次元の配列の場合、n個のアダプタクラス(JA-n-XYZ、JA-(n-1)-XYZ、…、 JA-1-XYZ)を生成します。JA-n-XYZは、JA-(n-1)-XYZを要素として持つ1次元配列です。
生成例
java.lang.String[]のアダプタクラスは、以下のように生成します。
CLASS-ID. JA-1-STRING AS "JA-1-java-lang-String" INHERITS J-OBJECT. … END CLASS JA-1-STRING.
int[][][]のアダプタクラスは、以下のように生成します。
CLASS-ID. JA-3-INT AS "JA-3-int" INHERITS J-OBJECT. [1] … END CLASS JA-3-INT. CLASS-ID. JA-2-INT AS "JA-2-int" INHERITS J-OBJECT. [2] … END CLASS JA-2-INT. CLASS-ID. JA-1-INT AS "JA-1-int" INHERITS J-OBJECT. [3] … END CLASS JA-1-INT.
JA-2-intクラスのオブジェクトを要素として持つ1次元配列。
JA-1-intクラスのオブジェクトを要素として持つ1次元配列。
intを要素として持つ1次元配列。
注意
9次元を超えた配列は扱えません