UML から Java への変換出力におけるコード変更の影響

UML から Java への変換または UML から EJB への変換を再実行すると、 以前に生成されたコードに加えられた変更が、変換によって、コード要素のタイプおよび変更のタイプの両方に応じて処理されます。

変換では、変換構成に指定されたソースまたはターゲットの範囲を越えてコードが更新またはリファクタリングされることはありません。 変換の範囲を越えたコードに、変更されたモデル要素への参照が含まれている場合は、コードを手動で更新する必要があります。

以下の表には、変換の再実行時に、以前に生成されたコードに対する変更を変換がどのように処理するかがリストされています。 @generated タグは除去しないものとします。

注: 特に明記されない限り、変換により、変更されたコード要素の @generated タグに警告の問題マーカーが追加されます。 警告マーカーは、変換によりその要素が上書きされることを示します。 警告メッセージのテキストでは、変更を保持するためには @generated タグの除去が必要であることが示されています。
コード要素 変更点 変換を再実行する場合の、前に生成されたコードへの影響
注: 特に指示のない限り、変換は、ソース要素とターゲット要素の間のトレース関係を作成するように構成されているものとします。
ネストなしのクラスまたはインターフェース (トップレベルのクラスおよびインターフェースを含む) 実装または拡張の追加 追加された実装または拡張が除去されます。
移動 Java™ ファイルを変換の範囲外にあるプロジェクトに移動した場合、その変換では、ソース・モデルに定義されたロケーションに Java ファイルが作成されます。

Java のクラスまたはインターフェースをプロジェクト内の他のパッケージに移動した場合、その変換では、Java ファイルが元のロケーションに戻されます。

変換構成で指定したファイル上書きオプションによって、以前に生成された Java ファイルが削除されるかどうかが決まります。

変換がトレース関係を作成するように構成されていない場合は、以下のようになります。
  • Java ファイルを変換の範囲外にあるプロジェクトに移動した場合、その変換では、ソース・モデルに定義されたロケーションに Java ファイルが作成されます。
  • Java のクラスまたはインターフェースをプロジェクト内の他のパッケージに移動した場合、その変換では、ソース・モデルに定義されたロケーションに Java ファイルが生成されます。
  • 変換構成で指定したファイル上書きオプションによって、以前に生成された Java ファイルが削除されるかどうかが決まります。
実装または拡張の除去 以前に生成された実装または拡張が復元されます。
名前変更 UML モデル内のクラス名を反映するようにクラスがリファクタリングされます。
フィールド 同一 Java ファイル内での移動 フィールドおよびその getter/setter メソッド (生成されている場合) が、モデルに定義されている元のロケーションに復元されます。

生成された getter メソッドおよび setter メソッドの本文に対する変更は保持されます。

他の Java ファイルへの移動 新規ロケーションが、生成される Java ファイルである場合、フィールドおよびその getter/setter メソッド (生成されている場合) はその新規ロケーションから削除され、モデルに定義された元のロケーションに再生成されます。

生成された getter メソッドおよび setter メソッドの本文に対する変更は保持されません。

変換がトレース関係を作成するように構成されていない場合は、以下のようになります。
  • フィールドが新規ロケーションから削除され、モデルに定義された元のロケーションに再生成されます。
  • 移動された getter メソッドおよび setter メソッドは新規ロケーションには保持されず、 モデルに定義された元のロケーションに再生成されます。
名前変更 フィールドおよび関連付けられた getter/setter メソッドが、モデルに定義された元の名前に復元されます。
インポート・ステートメント 追加 インポート・ステートメントが保存されます。
メソッド 戻り値の型を変更 以前に生成された戻りタイプが復元されます。
シグニチャーを変更 以前に生成されたメソッドおよびシグニチャーが復元されます。

新規のシグニチャーを持つメソッドは除去されます。

メソッド本文に対する変更は保持されます。

同一 Java ファイル内での移動 メソッドが、モデルに定義された元のロケーションに復元されます。

メソッド本文に対する変更は保持されます。

新規ロケーションにあるメソッドは除去されます。

他の Java ファイルへの移動 新規ロケーションが、生成される Java ファイルである場合、メソッドはその新規ロケーションから削除され、元のロケーションに作成されます。 新規ロケーションが、生成されない Java ファイルである場合、メソッドはその新規ロケーションから削除されず、モデルに定義された元のロケーションに再生成されます。

メソッド本文に対する変更は保持されません。

名前変更 以前に生成されたメソッドが復元されます。

名前変更されたメソッドは除去されます。

ネストされたクラスまたはインターフェース 同一 Java ファイル内での移動 新規ロケーションが、生成される Java ファイルである場合、ネスト要素はモデルに定義された元のロケーションに復元されます。

すべての要素が、モデルに定義された元のロケーションに再生成されます。

ネスト要素に対する変更は保持されます。

他の Java ファイルへの移動 新規ロケーションが、生成される Java ファイルである場合、ネスト要素およびすべての子要素は、その新規ロケーションから削除されます。

すべての要素が、モデルに定義された元のロケーションに再生成されます。

ネスト要素に対する変更は保持されません。

ネストされたクラスまたはインターフェース 名前変更 以前に生成されたクラスまたはインターフェースが、モデルに定義された元のロケーションに復元されます。

ネスト要素に対する変更は保持されます。

変換がトレース関係を作成するように構成されていない場合は、以下のようになります。
  • 以前に生成されたクラスまたはインターフェースが、モデルに定義された元のロケーションに復元されます。
  • ネスト要素に対する変更は保持されません。
限定子 変更 以前に生成された限定子が、UML 要素の Keywords プロパティーの値を使用して復元されます。

フィードバック