変換を構成してマッピング・モデルを作成すると、変換で
Java™
クラスにコードを追加して、マッピング・モデルを作成したり、マッピング・モデルから情報を抽出したり、変換コンテキストが含むマッピング・パラメーターを検証したりすることができます。
始める前に
現在のワークスペースに、以下の項目を含む Eclipse プラグインが含まれている必要があります。
- com.ibm.xtools.transform.core.transformationProviders 拡張ポイントのインスタンス
- TransformationProvider 要素
- Transformation 要素
変換は、マッピング・モデルの作成をサポートするように構成されていなければならず、また、変換コンテキストにマッピング・パラメーターが含まれている必要があります。
通常、変換のユーザーは、変換構成エディターの
「マッピング」タブで、マッピング・パラメーターを指定します。
このタスクについて
変換コンテキストのマッピング・パラメーターは、マッピング・モードを決定します。
変換で実行する必要がある以下のような
マッピング・モデル・アクションがある場合は、マッピング・モードでその種類を指定します。
- マッピング・モデルの作成または更新
- マップされたオブジェクト名のマッピング・モデルからの抽出
マッピング・モデルを管理するには、以下のようにします。
- ナビゲーション・ビューの変換プロジェクトで
、マッピング・モードを決定するメソッドの追加先となる
Java
ファイルを開きます。
- マッピング・モードを決定するには
、以下の例にあるように
com.ibm.xtools.transform.uml2.mapping.MappingModeUtility という名前のクラスでメソッドを起動します。
if (MappingModeUtility.isNoMappingMode(context)) {
// マッピング・モデル機能を使用不可にした状態で変換を実行します。
}
else if (MappingModeUtility.isAMappingModelWritingMode(context) {
// マッピング・モデルを作成または更新します。
}
else if (MappingModeUtility.isUsesMappingMode(context) {
// マップされたオブジェクト名をマッピング・モデルから抽出します。
}
- 以下の表にあるアクションのいずれかを実行するには
、ステップ 2 で示した
コード・フラグメントに、該当するメソッド呼び出しを追加します。
変換がソース・オブジェクトを変換する方法によっては、これらのメソッド呼び出しの間に追加のコードを挿入する場合があります。
| アクション |
呼び出すメソッド |
| マッピング・モデルの作成または更新 |
- initialize(ITransformContext)
- populateMappingModel(List, ITransformContext) または
populateMappingModel(NamedElement,
ITransformContext)
- terminate(ITransformContext)
ヒント: プラットフォーム固有の命名規則に従う成果物をマッピング・モデルで生成する必要がある場合は、変換文書にこの命名規則を指定できます。プラグイン・マニフェスト・ファイルで、Transformation 要素の document 属性によって変換文書の場所を指定します。
|
| マップされたオブジェクト名のマッピング・モデルからの抽出 |
- initialize(ITransformContext)
- getFilename(NamedElement, ITransformContext,
Character) または getFilenameIgnoringParent(NamedElement,
ITransformContext) の 1 つ以上の呼び出し
- terminate(ITransformContext)
|
| 変換コンテキストのマッピング・パラメーターの検証 |
validateContext(ITransformationDescriptor
descriptor, ITransformContext context) という名前の
変換プロバイダー・クラスのメソッドからの validateContext(ITransformContext) メソッドの呼び出し |
- をクリックします。
- とクリックします。