UML から Java への変換

UML から Java への変換では、UML モデル要素を Java™ コードに変換します。 UML から Java 1.4 変換では、Java 2 Platform, Standard Edition 1.4 (J2SE 1.4) に準拠したコードを生成します。 UML から Java 5.0 変換では、UML から Java 1.4 変換と同じ機能を提供し、Java 2 Platform, Standard Edition 5.0 (J2SE 5.0) に準拠したコードを生成します。

UML から Java への変換プロファイル

UML から Java 1.4 への変換 プロファイルおよび UML から Java 5.0 への変換 プロファイルには、変換における各モデル要素から Java コードへの変換方法を制御する複数のステレオタイプが含まれています。 プロファイルを適用すると、モデルの検証機能を実行したり、変換を実行したりできます。 無効なモデル要素に関する警告については、「問題」ビューを参照してください。

ソース・モデルの検証

モデルに対して UML から Java 1.4 への変換 プロファイルまたは UML から Java 5.0 への変換 プロファイルを適用し、 生成された Java コードにおいてコンパイル・エラーを発生する可能性のある変換の問題について、そのモデルを検証できます。 その検査プロセスにより、プライベートまたは保護されたトップレベルの各クラスおよびインターフェースの、多重継承、循環の汎化、名前の競合、プロパティーの競合、および可視性の競合などの各問題が検査されます。

UML から Java 5.0 変換では、変換のソースとして指定したモデル要素を検証します。

有効な変換ソース

UML から Java 1.4および UML から Java 5.0では、 以下の UML ソースから Java クラスを生成します。
  • UML モデル
  • パッケージと、そのパッケージのコンテンツ
  • ネストなしのクラスと、そのクラスのコンテンツ
  • ネストなしのインターフェースと、そのインターフェースのコンテンツ
  • 列挙型

この変換では、UML モデル、パッケージ、クラス、およびインターフェースのコンテンツを変換します。 例えば、この変換によってクラスが変換された場合、 そのクラスの操作とプロパティーも変換されます。

変換構成エディターを使用しないで、「プロジェクト・エクスプローラー」ビューからモデルまたはモデル要素を選択した場合は、その選択したプロジェクトにより、変換構成で指定されたソース・プロジェクトがオーバーライドされます。 変換構成は影響を受けず、「変換構成」エディターまたはウィザードの「ソースとターゲット」ページで指定したソースも変更されません。

有効な変換対象

UML から Java 1.4の出力の宛先として Java プロジェクトを指定できます。

UML から Java 5.0の出力の宛先として、Java プロジェクト、または Java プロジェクト内のソース・フォルダーを指定できます。

生成される出力の代替名

マッピング・モデルを作成すれば、変換によって生成された要素の代替名をソース・モデルを変更せずに指定できます。 命名上の制約などの Java 固有の詳細をプラットフォーム独立モデルに組み込む場合、 またはソース・モデルの論理編成が対象のパッケージングとして適切でない場合は、代替名を指定できます。

com.ibm.NewName などの修飾名や、NewName などの非修飾名を指定できます。 パッケージに代替名を指定すると、分類子に完全修飾名が指定されていない限り、該当パッケージ内のすべての分類子に影響を及ぼします。 変換によって生成された要素に対して、同じプロジェクト内の代替場所を指定することもできます。

UML から Java 5.0 変換でサポートされるパラメーター化された型

UML から Java 5.0 変換を作成または構成する場合に、パラメーター化された型の汎用インターフェース、または generics として以下の Java コレクション型を指定できます。
  • AbstractCollection
  • AbstractList
  • AbstractMap
  • AbstractSequentialList
  • AbstractSet
  • ArrayList
  • BitSet
  • Collection
  • HashMap
  • HashSet
  • Hashtable
  • LinkedList
  • List
  • Map
  • Set
  • SortedMap
  • SortedSet
  • Stack
  • TreeMap
  • TreeSet
  • WeekHashMap
  • Vector

変換では、その他の Java コレクションに対してはパラメーター化された型の情報を生成しません。

UML コレクション情報がある Java ソース・コードの注釈

UML から Java 5.0 変換では、生成した Java コレクション型に対し、UML コレクション型についてのコメントを追加します。 これらのコメントにより、ビジュアル開発ツールで Java コレクション型の正確なビジュアル表示を作成できるようになります。 UML から Java 1.4 変換では、生成した Java ソースに UML コレクション型についてのコメントを生成しません。

以下の表には、Class1 と Class2 の間の関連の例がリストされています。 関連により、多重度が指定されます。 この表には、生成されたソース・コードおよびその関連のビジュアル表示もリストされています。
UML 要素 UML から Java 5.0 変換の出力 変換出力のビジュアル表示
このイメージは、多重度を指定する関連がある UML モデル要素 Class1 および Class2 を示しています。 変換では、変換構成でチェック・ボックス「Java 5 を使用」が選択されている場合、以下のソース・コードを生成します。
public class Class1 {
	/** 
	 * @uml.annotations for <code>class2</code>
	 *     collection_type="Class2"
	 * @generated  "UML to Java V5.0 (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
	 */
	private Set<Class2> class2;
}
このイメージは、クラス Class2 のコレクションが含まれている Class1 のビジュアル表示を示しています。
変換では、変換構成でチェック・ボックス「Java 5 を使用」が選択されていない場合、以下のソース・コードを生成します。
public class Class1 {
	/** 
	 * @uml.annotations for <code>class2</code>
	 *     collection_type="Class2"
	 * @generated  "UML to Java V5.0 (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
	 */
	private Set class2;
}

変換出力における関係の文書

UML から Java 5.0 変換では、以下の UML 関係に対する UML 関係文書を Javadoc 情報に変換します。
  • 関連
  • 汎化
  • 実装
  • 実現
使用関係の文書を Javadoc 情報に変換する場合は、 J2SE 5.0 コードを生成するよう UML から Java 5.0 変換を構成する必要があります。

変換では、汎化、実装、および実現の各関係の文書を、各関係内の発生元クラスの UML 文書に対して追加します。 また、変換では、各関係の生成されたターゲット・クラスの Javadoc 情報に対しても、それらの関係の文書を追加します。

関連の場合、変換では、それぞれの関連プロパティーの文書に対して UML 文書を追加します。

Java 例外のモデリング

UML モデルでは、UML 操作を使用して Java メソッドを表すことができます。 UML 操作の RaisedException プロパティーで、操作に関連付けられた例外オブジェクトを表す UML クラスを指定できます。 UML から Java 5.0 変換を実行すると、RaisedException プロパティーに指定したクラスを含んだ Java throws ステートメントが生成されます。

生成された Java 要素の可視化

UML から Java への変換の出力を基本の技術成果物にする場合は、ソース UML オブジェクトと生成された Java コードの間に直接関係を作成するよう変換で指定します。 直接関係の作成により、ソース UML オブジェクトが削除され、それがソース・オブジェクトのビジュアル表示で置き換えられます。 UML から Java 1.4 変換および UML から Java 5.0 変換の両方とも、ソース・オブジェクトのビジュアル表示で UML オブジェクトを置き換えることができます。

派生関係

UML から Java 1.4 変換および UML から Java 5.0 変換の両方とも、UML ソース・モデル要素から生成された Java クラスへの派生関係を作成できます。 その後、モデル照会を作成および実行して、トピック図内にその派生関係を表示することができます。

チーム・サポートとの統合

UML から Java 1.4および UML から Java 5.0の両方とも、、ファイルの自動チェックアウトや新規ファイルの追加を 可能にする CVS、Rational® ClearCase®、 および Rational ClearCase LT バージョン管理システムとの 統合機能を提供します。

関連タスク
UML モデルから Java コードへの変換
UML から Java への変換プロファイルの適用
UML 操作における 例外の指定
UML から Java への変換用のソースとターゲットの指定
UML から Java への変換により生成される Java コレクション・タイプの指定
チーム機能の使用可能化
関連資料
UML から Java への変換による UML 要素の変換処理

フィードバック