Java から UML への変換によるソース・コードの変換処理

この変換によって生成される UML 要素は、変換のソースとして指定された Java™ コードの特性によって決定されます。 変換によって Java 要素を変換できない場合、その要素は無視されます。

Java クラス

以下の表には、変換において、どのように Java クラスが UML クラスに変換されるかがリストされています。
Java クラスのプロパティー 変換出力
パッケージ Java パッケージと同じ名前を持つパッケージのクラス
名前 同じ名前を持つクラス
可視性 ソース Java クラスと同じ可視性
final キーワードの指定 Is Leaf プロパティーが true に設定されます。
abstract キーワードの指定 Is Abstract プロパティーが true に設定されます。
スーパークラスの拡張 クラスおよびスーパークラス間の汎化関係
インターフェースの実装 クラスとインターフェースの間のインターフェース実現関係
static のインポート (J2SE 5.0) クラスおよびインポートされた要素間の使用関係

Java インターフェース

以下の表には、変換において、どのように Java インターフェースが UML インターフェースに変換されるかがリストされています。
Java インターフェースのプロパティー 変換出力
パッケージ Java パッケージと同じ名前を持つパッケージのインターフェース
名前 同じ名前を持つインターフェース
可視性 ソース Java インターフェースと同じ可視性
abstract キーワードの指定 Is Abstract プロパティーが true に設定されます
スーパーインターフェースの拡張 インターフェースおよびスーパーインターフェース間の汎化関係
static のインポート (J2SE 5.0) インターフェースおよびインポートされた要素間の使用関係

Java 列挙

以下の表には、変換において、どのように Java 列挙が UML 列挙に変換されるかがリストされています。
Java 列挙のプロパティー 変換出力
パッケージ Java パッケージと同じ名前を持つパッケージの列挙
名前 同じ名前を持つ列挙
可視性 ソース Java 列挙と同じ可視性
final キーワードの指定 Is Leaf プロパティーが true に設定されます。
abstract キーワードの指定 Is Abstract プロパティーが true に設定されます。
static のインポート (J2SE 5.0) インターフェースおよびインポートされた要素間の使用関係

Java クラスまたはインターフェースの Java 属性

以下の表には、変換において、Java のクラスまたはインターフェース内にある Java 属性が、どのように変換されるかがリストされています。
Java 属性のプロパティー 変換出力
名前 同じ名前を持つプロパティー
可視性 ソース Java プロパティーと同じ可視性
static キーワードの指定 Is Static プロパティーが true に設定されます。
final キーワードの指定 Is Leaf プロパティーが true に設定されます。
abstract キーワードの指定 Is Abstract プロパティーが true に設定されます。
タイプ (非コレクション・タイプ) Type プロパティーが、既存のプリミティブ型、モデル内の UML 要素、または Java 型への参照に設定されます。
タイプ (コレクション・タイプ) Type プロパティーはヌルです。コードにコレクションまたは配列、およびその型が含まれていることを特定できる場合は、 変換により、«JavaArray» ステレオタイプまたは «JavaCollection» ステレオタイプのプロパティーが設定されます。
総称型 (J2SE 5.0) Type プロパティーは、Java のクラスまたはインターフェース内の型に設定されます。コードにコレクションまたは配列、およびその型が含まれていることを特定できる場合は、 変換により、«JavaArray» ステレオタイプまたは «JavaCollection» ステレオタイプのプロパティーが設定されます。

Java 列挙の Java プロパティー

変換では、列挙内の Java プロパティーは、同じ名前を持つ UML 列挙型リテラルに変換されます。

Java クラスおよびインターフェース内の Java メソッド

以下の表には、変換において、クラスおよびインターフェース内の Java メソッドが、どのように UML 操作に変換されるかがリストされています。

Java メソッドのプロパティー UML 操作のプロパティー
名前 同じ名前を持つ操作
可視性 ソース Java メソッドと同じ可視性
static キーワードの指定 Is Static プロパティーが true に設定されます。
final キーワードの指定 Is Leaf プロパティーが true に設定されます。
パラメーター Java パラメーターと同じプロパティーを持つパラメーター。変換では、Java メソッド内と同じ順序でパラメーターが生成されます。

Java メソッドに戻りパラメーターが含まれている場合、変換では、その操作の他のパラメーターが生成される前に、 その操作の戻りパラメーターが生成されます。Java メソッド・パラメーター・テーブルを参照してください。

throws ステートメントと 1 つ以上の throw 可能なオブジェクトの指定 UML 操作の RaisedException プロパティーは、throws ステートメント内の例外クラスを指定します
ヒント: UML 操作のプロパティーを表示するには、「プロジェクト・エクスプローラー」ビューで UML 操作を右クリックし、「UML プロパティー」をクリックします。

Java メソッド・パラメーター

以下の表には、変換において、どのように Java メソッド・パラメーターが変換されるかがリストされています。
Java パラメーター UML パラメーター
可変長 (J2SE 5.0) 多重度が * に設定されます
入力 方向が in に設定されます
Return 方向が return に設定されます。生成されるパラメーターは ReturnParameter という名前になります。
以下の表には、変換において、上にリストされているパラメーターのタイプに共通するプロパティーがどのように生成されるかがリストされています。
Java メソッド・パラメーターのプロパティー UML パラメーターのプロパティー
名前 同じ名前を持つパラメーター
タイプ (非コレクション・タイプ) Type プロパティーが、既存のプリミティブ型、モデル内の UML 要素、または Java 型への参照に設定されます。
タイプ (コレクション・タイプ) Type プロパティーはヌルに設定されます。コードにコレクションまたは配列、およびその型が含まれていることを特定できる場合は、 変換により、«JavaArray» ステレオタイプまたは «JavaCollection» ステレオタイプのプロパティーが設定されます。
総称型 (J2SE 5.0) Type プロパティーは、Java のクラスまたはインターフェース内の型に設定されます。コードにコレクションまたは配列、およびその型が含まれていることを特定できる場合は、 変換により、«JavaArray» ステレオタイプまたは «JavaCollection» ステレオタイプのプロパティーが設定されます。

Java のコメント

変換は、対応する UML 要素の UML 文書プロパティーに、以下のタグの間にあるテキストをコピーします。
/**
 *<!-- begin-UML-doc -->
 * This documentation is copied into the UML documentation property for the corresponding UML element.
 *<!-- end-UML-doc -->
 */

Java コレクション・プロパティーの変換

変換の実行時にコード内の Java のコレクションまたは配列が特定でき、それらのコレクションや配列の型が特定できる場合、その変換では、生成される UML 要素に «JavaCollection» ステレオタイプまたは «JavaArray» ステレオタイプが適用され、そのステレオタイプのプロパティーに値が取り込まれます。 それ以外の場合、変換では適応可能な参照が生成され、生成される UML 要素にステレオタイプは適用されません。

以下の表には、変換が、生成される UML 要素に «JavaCollection» ステレオタイプまたは «JavaArray» ステレオタイプを適用する場合に、UML コレクション・タイプのプロパティーに対して設定するデフォルト値がリストされています。 異なるコレクション・タイプを変換構成に指定した場合には、これらの値が変わることがあります。 生成された各 UML 要素について、「プロパティー」ビューの「拡張」タブで、これらのプロパティーの値を確認できます。 生成された UML 要素の UML multiplicity プロパティーが変換によってどのように設定されるかについて詳しくは、「プロパティーおよびパラメーターの UML 多重度」表を参照してください。
Java タイプ 生成される UML タイプ Is Ordered プロパティー Is Unique プロパティー collectionType プロパティー
java.util.Collection バッグ: 重複要素を許可する順序なしコレクション false false java.util.Collection
java.util.List シーケンス: 重複要素を許可する順序付きコレクション true false java.util.List
java.util.Set セット: 重複要素を許可しない順序なしコレクション false true java.util.Set
java.util.SortedSet 順序付きセット: 重複要素を許可しない順序付きコレクション true true java.util.SortedSet

プロパティーおよびパラメーターの UML 多重度

以下の表には、変換において、変換される Java のプロパティーおよびパラメーター・タイプの multiplicity プロパティーが、どのように設定されるかがリストされています。
Java タイプ サンプル UML 多重度
属性 String x 0..1
次元付き配列 String[3] x N。ただし N>1
次元なし配列 String[] x 0..*
変換構成に指定されている Java コレクション・タイプ java.util.Set *

変換によって変換されない Java 構成体

以下の Java 構成体は、変換によって変換されません。
  • Generics

    例えば、public class Class1<E extends Class1<E>>{} などの汎用クラスを含むソース・モデルがある場合、 変換を実行すると、テンプレート引数を持たない Class1 という UML クラスが生成されます。

  • アノテーション

フィードバック