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 ファイルへの移動 フィールドおよびその getter メソッドと setter メソッドは、生成された場合は、新規の場所が生成された Java ファイルの場合は新規の場所から削除され、モデルが定義する元の場所で再生成されます。

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

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

新規のシグニチャーがあるメソッドは除去されます。

メソッド本文への 変更は保持されます。

同じ Java ファイル内での移動 メソッドは、モデルが定義する元の場所に復元されます。

メソッド本文への 変更は保持されます。

新規の場所のメソッドは除去されます。

別の Java ファイルへの移動 新規の場所が生成された Java ファイルの場合、メソッドは新規の場所から削除され、元の場所で作成されます。 新規の場所が生成されていない Java ファイルの場合、メソッドは新規の場所から削除されず、モデルが定義する元の場所で再生成されます。

メソッド本文への 変更は保持されません。

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

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

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

すべての要素は、モデルが定義する元の場所で再生成されます。

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

別の Java ファイルへの移動 新規の場所が生成された Java ファイルの場合、ネストされた要素とすべての子要素は、新規の場所から削除されます。

すべての要素は、モデルが定義する元の場所で再生成されます。

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

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

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

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

フィードバック