この変換では、UML モデル、パッケージ、クラス、およびインターフェースのコンテンツを変換します。 例えば、この変換によってクラスが変換された場合、 そのクラスの操作とプロパティーも変換されます。
変換構成エディターを使用せずに、「プロジェクト・エクスプローラー」ビューでモデルまたはモデル要素を選択した場合、その選択したモデルまたは要素によって、変換構成に指定したソース・モデルまたはソース要素がオーバーライドされます。 変換構成は影響を受けず、変換構成エディターまたは「新規変換構成」ウィザードの「ソースとターゲット」ページで指定したソースも変更されません。
マッピング・モデルを作成すれば、変換によって生成された要素の代替名をソース・モデルを変更せずに指定できます。 命名上の制約などの Java 固有の詳細をプラットフォーム独立モデルに組み込む場合、 またはソース・モデルの論理編成がターゲット・パッケージとして適切でない場合は、代替名を指定できます。
com.ibm.NewName などの修飾名や、NewName などの非修飾名を指定できます。 パッケージに代替名を指定すると、分類子に完全修飾名が指定されていない限り、該当パッケージ内のすべての分類子に影響を及ぼします。 変換によって生成された要素に対して、同じプロジェクト内の代替場所を指定することもできます。
変換では、その他の Java コレクションに対してはパラメーター化された型の情報を生成しません。
J2SE 5.0 と互換性のあるコードを生成するように変換を構成しなかった場合、UML から Java への変換では、生成される Java コレクション・タイプに、UML コレクション・タイプに関するコメントが追加されます。 これらのコメントにより、ビジュアル開発ツールで Java コレクション型の正確なビジュアル表示を作成できるようになります。
UML 属性の多重度として * を指定し、変換構成の Java コレクション情報を変更しなかった場合、デフォルトでは、UML から Java への変換によって、Java 集合が生成されます。
| UML 要素 | UML から Java への 変換の出力 | 変換出力のビジュアル表示 |
|---|---|---|
![]() |
変換構成の「Java 5 を使用」チェック・ボックスをクリアした場合、この変換では、以下のソース・コードが生成されます。
public class Class1 {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @uml.annotations for <code>class2</code>
* collection_type="Package1.Class2"
* @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
*/
private Set class2;
}
|
![]() |
変換構成の「Java 5 を使用」チェック・ボックスを選択した場合、この変換では、以下のソース・コードが生成されます。
public class Class1 {
/**
*
*
* @generated "UML to Java (com.ibm.xtools.transform.uml2.java5.internal.UML2JavaTransform)"
*/
private Set<Class2> class2;
}</Class2>
|
次のイメージは、Java から UML への変換で生成される UML クラスのビジュアル表示を示しています。

変換では、汎化、実装、および実現の各関係の文書を、各関係内の発生元クラスの UML 文書に対して追加します。 また、変換では、各関係の生成されたターゲット・クラスの Javadoc 情報に対しても、それらの関係の文書を追加します。
関連の場合、変換では、それぞれの関連プロパティーの文書に対して UML 文書を追加します。
UML モデルでは、UML 操作を使用して Java メソッドを表すことができます。 UML 操作の RaisedException プロパティーで、操作に関連付けられた例外オブジェクトを表す UML クラスを指定できます。 UML から Java への 変換を実行すると、RaisedException プロパティーに指定したクラスを含んだ Java throws ステートメントが生成されます。
いくつかの Java キーワード (strictfp、native、transient、および volatile など) は、UML モデル内に表すことができません。 UML から Java への変換または UML から Java への変換を実行する際にこれらのキーワードを保持するには、 これらのキーワードを UML キーワードとしてモデル化する必要があります。
UML から Java への変換の出力を基本技術成果物にする場合は、変換時にソース UML オブジェクトと生成された Java コードの間に直接関係が作成されるように指定することができます。 直接関係の作成により、ソース UML オブジェクトが削除され、それがソース・オブジェクトのビジュアル表示で置き換えられます。
UML から Java への変換では、UML ソース・モデル要素から、生成された Java クラスへのトレース関係を作成できます。 その後、モデル照会を作成および実行して、トピック図内にそのトレース関係を表示することができます。
トレース関係を作成するように構成された変換を実行すると、@generated タグをサポートするそれぞれの要素で、@generated タグに 固有 ID が付加されます。 この ID は、Java 要素の生成元となる UML モデル要素を示します (例えば、* @generated "sourceid:platform:/resource/UMLProject/SimpleModel.emx#_83GpoBtIEdyLaOwyRX_ZMQ" など)。 ソース UML モデル内の要素が名前変更された場合、 マージ機能は、この固有 ID によって、適切な要素のリファクタリングおよびマージを行うことができます。
Java から UML への変換、またはその後方変換では、Java プロジェクトと UML モデルの間の対応する要素を突き合わせる場合にも、この ID を使用します。 Java ソース・コード要素への変更は、 生成済みコードでの追加および削除としてではなく、変更またはコード・リファクタリングとして処理されます (そう処理するのが妥当な場合)。