UML から Java への変換による UML 要素の変換処理

この変換によって生成される Java™ 要素は、ソースとなる UML 要素とその特性によって決定されます。

下表には、変換において、どのように UML 要素が Java 要素に変換されるかがリストされています。

UML 要素 Java 要素
パッケージ 同一の名前を持つ Java パッケージ
«perspective» ステレオタイプを持つパッケージ 無視
«analysis» キーワードまたは «Analysis» キーワードを持つパッケージ 無視
クラス 同一の名前および可視性を持つ Java クラス
Is Leaf プロパティーを持つクラス true の場合、Java クラスは final となります。
Is Abstract プロパティーを持つクラス true の場合、Java クラスは abstract となります。
汎化関係を持つクラス Java クラスによって、指定されたスーパークラスが拡張されます。
クラスとインターフェース間のインターフェース実現または実現関係 Java クラスによって、指定されたインターフェースが実装されます。
インターフェース 同一の名前および可視性を持つ Java インターフェース
汎化関係を持つインターフェース Java インターフェースによって、指定されたインターフェースが拡張されます。
列挙 Java 列挙

J2SE 5.0 と互換性のあるコードを生成するように変換が構成されていない場合は、変換によって、同一の名前および可視性を持つ Java インターフェースが生成されます。

列挙型リテラル 列挙子
操作 同一の名前および可視性を持つ Java メソッド
Is Static プロパティーを持つ操作 true の場合、Java メソッドは static となります。
Is Abstract プロパティーを持つ操作 true の場合、Java メソッドは abstract となります。
Is Leaf プロパティーを持つ操作 true の場合、Java メソッドは final となります。
クラスと同一の名前を持つ操作 Java コンストラクター
«create» ステレオタイプを持つ操作 Java コンストラクター
RaisedException プロパティーに 1 つまたは複数の UML クラスが指定された操作 throw 可能なクラスのリストを伴った Java throws ステートメント
パラメーター 同一の名前を持つ Java パラメーター
タイプ・プロパティーを持つパラメーター Java パラメーターは指定されたタイプを持ちます。 これは、その他のクラスまたはプリミティブ型である場合があります。
方向プロパティーを持つパラメーター Java メソッドは、return に設定されると return <param type> を持ちます。

Java メソッドが return に設定されない場合、メソッド・シグニチャー内に <param type> <param name> ができます。

多重度を持つパラメーターまたはプロパティー
0..1 属性または参照
1 属性
N (N>1) 配列
x..* (例えば、1..*)、*、あるいは x..y 以下の表を参照してください。
操作パラメーターでのリストで、最後の操作パラメーターに * あるいは x..* の多重度がある場合、デフォルトでは Java vararg (可変アリティー引数で、型の後に省略符号を付けて表されます) に変換されます。
注: このデフォルトの振る舞いを上書きして、最後のパラメーターを Java コレクションに変換させるには、変換構成で対応する拡張を選択します。

操作パラメーターに x..y の多重度がある場合は、配列に変換されます。

プロパティー 同一の名前および可視性を持つ Java フィールド
Is Static プロパティーを持つプロパティー true の場合、Java フィールドは static となります。
Is Leaf プロパティーを持つプロパティー true の場合、 Java フィールドは final となります。
タイプ・プロパティーを持つプロパティー Java フィールドは指定されたタイプを持ちます。 これは、その他のクラスまたはプリミティブ型である場合があります。
注: Java 識別子では、無効とされる文字がいくつかあります (スペースなど)。 この変換によって、無効文字がアンダースコアー (_) に置き換えられ、有効な識別子が作成されます。 この置き換えでは、名前の競合が発生する可能性があります。 こうした競合のため、変換によって複製クラスおよびインターフェース は生成されなくなります。 こうした置き換え時の問題を回避するには、 要素の名前変更を行うか、またはマッピング機能を使って、 ソース・モデルに変更を加えない代替名を指定してください。
以下の表では、変換で多重度が x..*、*、あるいは x..y のパラメーターおよびプロパティーがどのように処理されるかをリスト表示しています。UML から Java 変換構成を作成または構成する場合、 その変換によって異なる Java コレクション型が生成されるように指定することができます。UML から Java 変換構成で定義された Java コレクション型は、デフォルトで vararg に変換される最後のパラメーター以外のすべてのパラメーターに適用されます。多重度が x..*、*、あるいは x..y の最後のパラメーターを Java コレクションに変換するには、以下のステップのいずれかを完了させる必要があります。
  • 変換構成で対応する変換の拡張を選択する。UML から Java 変換の構成について詳しくは、以下の関連タスクのトピックを参照してください。
  • «JavaCollection» ステレオタイプを対応する UML パラメーターまたはプロパティーに適用し、ステレオタイプの collectionType プロパティーを設定する。
isOrdered プロパティー isUnique プロパティー 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

UML 文書

変換により、UML 要素の UML 文書フィールド内のテキストがコピーされ、 そのテキストが、変換により要素に対して生成される Java コード内の以下のタグの間に配置されます。
/*
 * <!-- begin-UML-doc -->
 * <!-- end-UML-doc -->
 */

フィードバック