UML から Java への変換出力におけるモデル変更の影響

UML から Java への変換または UML から EJB への変換を再実行する場合、ソース・モデルに対して行った変更は、以前に生成されたすべてのコードに影響を及ぼします。

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

以下の表は、変換の再実行時に、ソース UML モデルに対する変更が以前に生成されたコードに与える影響をリストしたものです。

モデル要素 変更点 変換を再実行する場合の、前に生成されたコードへの影響
注: 特に指示のない限り、変換は、ソース要素とターゲット要素の間のトレース関係を作成するように構成されているものとします。
ネストなしのクラスまたはインターフェース (トップレベルのクラスまたはインターフェースを含む) 追加 新規の Java™ ファイルが作成されます。
実装または拡張の追加 節が再書き込みまたは追加されます。
移動 元の Java ファイルが、モデルに定義された新規ロケーションに移動されます。

新規ロケーションは、変換の範囲内になければなりません。

変換がトレース関係を作成するように構成されていない場合は、以下のようになります。
  • 新規の Java ファイルが、クラスの新規ロケーションに作成されます。
  • 変換構成で指定したファイル上書きオプションによって、以前に生成された Java ファイルが削除されるかどうかが決まります。
実装または拡張の除去 節が再書き込みまたは除去される
名前変更 変換の範囲内にある Java クラスのインスタンスおよびそのクラスへの参照がすべてリファクタリングされます。

変換がトレース関係を作成するように構成されていない場合は、元の生成済みクラスが削除され、新しい名前のクラスが作成されます。

属性 単一の UML クラス階層内での移動 (ネスト・クラスとの間での属性の移動を含む) Java フィールドが新規ロケーションに移動されます。 getter メソッドおよび setter メソッドが生成された場合は、それらも移動されます。
新規 UML クラス階層への移動 元のフィールドが削除されます。 getter メソッドおよび setter メソッドが生成された場合は、それらも削除されます。

階層内の新規ロケーションに対応する Java ファイルにフィールドが作成されます。

名前変更 フィールドが名前変更されます。

変換がトレース関係を作成するように構成されていない場合は、元の名前のフィールドが削除され、新しい名前のフィールドが作成されます。

操作 戻り値の型を変更 メソッドの戻りタイプが更新されます。
シグニチャーを変更 メソッド・シグニチャーが、モデル内の変更を反映するように更新されます。

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

単一の UML クラス階層内での移動 (ネスト・クラスとの間での操作の移動を含む) メソッドが新規ロケーションに移動されます。

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

他の UML クラス階層への移動 元のメソッドが削除されます。 同名の新規メソッドが、メソッドの新規ロケーションを表す生成された Java ファイルに作成されます。

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

名前変更 メソッドが名前変更されます。

変換がトレース関係を作成するように構成されていない場合は、元の名前のメソッドが削除され、新しい名前のメソッドが作成されます。

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

ネストされたクラスまたはインターフェース 単一の UML クラス階層内での移動 (ネスト・クラスとの間での移動を含む) ネストされたクラスまたはインターフェースが新規ロケーションに移動されます。

ネストされたクラスまたはインターフェース内の要素は保持されます。

新規 UML クラス階層への移動 以前に生成されたクラスまたはインターフェースが除去されます。

新規のクラスまたはインターフェースが追加されます。

名前変更 ネストされたクラスまたはインターフェースが現在のロケーションで名前変更されます。

ネスト要素は保持されます。

変換がトレース関係を作成するように構成されていない場合は、以下のようになります。
  • 以前に生成されたクラスまたはインターフェースが除去されます。
  • 新規のクラスまたはインターフェースが追加されます。

フィードバック