XDE Java コード・モデル・インポートのコレクション・クラスおよび配列

Rational® UML モデリング製品および Rational XDE™ は、Java™ コレクション・クラスおよび Java 配列を UML で異なる形式で表現します。

「Rational XDE Java プロジェクトのインポート (Rational XDE Java Project Import)」ウィザードは、適切な表現のコレクションおよび配列として実装された、インポートされたモデルの属性、関連、および操作パラメーターを変換します。 インポートされたモデルは、UML から Java 5 および Java から UML への変換で使用され、モデルおよびコード間のリンクを保持します。

Rational XDE では、XDE コード・モデル用の Java RTE プロファイルが、タグ付き値を定義して、JavaDimensions および JavaCollection タグ付き値を表現します。 これらの値に、要素のタイプが配列であるかコレクションであるかを指定して、Rational XDE for Java が、どのように属性、関連、およびパラメーターのコードを生成するかを確定します。 UML モデリング製品は、UML ドメイン内のコレクションの概念を異なる形式で表現します。 属性、関連、またはパラメーターが 1 より大きい多重度を持つ場合、UML では追加のプロパティーが 2 つ (IsOrdered および IsUnique) 適用されます。

以下の表は、UML から Java への変換が、デフォルトでどのようにパラメーター、属性、および関連を処理するかをリストしています。 UML から Java への変換構成を作成または構成する場合、変換が異なる Java コレクション・タイプを生成するように指定することができます。例えば、両方の UML プロパティーが TRUE の場合、UML コレクション・タイプは Ordered set になり、変換後に生成された Java タイプは java.util.SortedSet となります。

UML プロパティーおよび対応するコレクション・タイプ

IsOrdered UML プロパティー IsUnique UML プロパティー UML コレクション 生成された Java タイプ
true
true
Ordered set	
java.util.SortedSet
true
false
Sequence	
java.util.List
false
true
Set
java.util.Set
false
false
Bag
java.util.Collection
上のテーブルに加えて、Java 変換は、2 つのステレオタイプ (<<JavaCollection>> および <<JavaArray>>) を使用して、それぞれコレクション・クラスの生成、および配列の次元を指定します。 これらのステレオタイプは、属性、関連、および操作パラメーターに適用できます。 これらのステレオタイプが適用されると、UML から Java 5 への変換は、テーブルのマッピングを無視して、ステレオタイプで指定された Java コレクション・クラスまたは配列を代わりに生成します。 これは、UML から Java 1.4 への変換には適用されません。
「XDE Java プロジェクトおよびコード・モデルのインポート (XDE Java code model import)」ウィザードを実行する場合、XDE モデルのコレクション・クラスは、インポートされたモデルで適切に表されます。 JavaCollection タグ付き値がブランクでない場合、モデル要素には、適切な値の <<JavaCollection>> ステレオタイプが与えられます。JavaDimensions タグ付き値が 0 より大きい場合、JavaArray ステレオタイプが、適切な値で適用されます。 これらのステレオタイプのいずれかが適用された場合、モデル要素の多重度がアスタリスク (*) に設定されます。
注: XDE では、JavaCollection または JavaDimensions タグ付き値が使用された場合、デフォルト多重度の 1 は多くの場合無視されます。 まれにしかないケースですが、コレクション・クラスまたは配列を使用し、明確に多重度 1 にしたい場合、インポートされたモデルでこの構成を手動で訂正する必要があります。
関連概念
Rational XDE Java プロジェクトおよびコード・モデルのマイグレーション
関連タスク
XDE Java プロジェクトおよびソース・ファイルのインポート
XDE Java コード要素の手動でのタグ付け

フィードバック