事前定義された変換のプロパティー

この内容は、バージョン 7.5.4 以降にあてはまります。変換を作成する際に、変換を含むプラグインの plugin.xml ファイルの対応するプロパティーを定義して、プロパティーのフィーチャーや設定された値を使用可能にすることができます。 値が変化する頻度によって、変換アプリケーション・プログラミング・インターフェース (API) を使用して、変換コンテキストのプロパティーを更新することもできます。
変換のコアは、複数のプロパティーを定義します。 次のようにして、プロパティーの値を作成および設定できます。
  • 変換を含むプロジェクトの plugin.xml ファイルで、プロパティーを追加し、その値をこのトピック最後の表に記載の値に設定することができます。

    プロパティーの値が頻繁に変化しない場合は、この方法を使用します。

    一部のプロパティーでは、<Transformation> 要素に <Property> 要素を作成します。別のプロパティーでは、<Transformation> 要素に、プロパティーを属性として追加します。詳しくは、以下の表を参照してください。

    以下のコード・フラグメントは、<Transformation> 要素に <Property> 要素を作成して、myProperty という名前のプロパティーを追加する方法を示しています。
    <Transformation
    	groupPath="myExampleTransformation"
    	id="myExampleTransformation.transformation"
    	name="Transformation"
    	sourceModelType="UML2"
    	targetModelType="resource"
    	version="1.0.0"/>
    	<Property
    		readonly="true"
    		metatype="boolean"
    		name="myProperty"
    		value="true"
    		id="myProperty">
    	</Property>
    </Transformation>

    name 属性の値を指定する必要があります。 指定する値は、属性の目的がユーザーに明確になるよう、詳細に記述する必要があります。 例えば、識別子であるプロパティーの id 属性が「my.transformation.myApp.myTransformation.mergeOption」に設定されている場合、name 属性は「マージ・オプション」と設定します。

  • 変換のソース・コードの、規則、抽出、または変換式などの変換要素内では、com.ibm.xtools.transform.core.ITransformContext インターフェースのメソッドを起動するコードを追加できます。

    プロパティーの値が頻繁に変化する場合は、この方法を使用します。

    このインターフェースおよび変換コンテキストの記述について詳しくは、Rational® Transformation デベロッパー・ガイド (Rational Transformation Developer Guide)を参照してください。

Boolean プロパティーの値を false に設定すると、このプロパティーを plugin.xml ファイルから除外したのと同じ結果になります。

次の表に、変換用に更新できる事前定義されたプロパティーの一覧を示します。 変換の作成者であるユーザーは、変換用にカスタム・プロパティーを作成することもできます。詳しくは、このトピックの最後にある『関連タスク』トピックを参照してください。

プロパティー ID 特性 説明 場所
createSourceToTargetRelationships メタタイプ: Boolean

値: デフォルトでは、このプロパティーの値は true に設定されています。

読み取り専用: false

このプロパティーは、ソース要素からターゲット要素へのトレース関係の作成を、変換がサポートすることを指定します。

このプロパティーを true に設定すると、変換構成エディターの「メイン」ページに、チェック・ボックスが表示されます。 変換のユーザーはこのチェック・ボックスを選択して、変換のこのインスタンスがトレース関係を作成するよう指定します。

変換の plug-in.xml ファイルで、<Transformation> 要素内に <Property> 要素を作成します。このトピックの冒頭にあるコード・フラグメントがその例です。
MAIN_TAB_CSHELP メタタイプ: String

値: 変換構成エディターの「メイン」ページに埋め込まれる構成ページを提供するプラグインの識別子 (ID) です。末尾にコンテキスト・ヘルプのコンテキスト ID が追加されます。例: com.myCompany.myTransformation.cshelpID

読み取り専用: true

このプロパティーは、変換構成エディターの「メイン」ページに埋め込まれているページに、変換のコアがコンテキスト・ヘルプを表示する際に使用する情報を指定します。

「メイン」ページに埋め込まれている構成ページにコンテキスト・ヘルプを提供する場合は、変換の作成者はこのプロパティーの値を設定する必要があります。

PROGRESS_MONITOR_INCREMENT メタタイプ: 正の整数

値: 変換の作成者により定義されます。

読み取り専用: 「場所」列の説明を参照してください。

このプロパティーは、「進行状況」ウィンドウの進行状況表示バーを進める作業単位数を指定します。 変換の実行時にこのプロパティーの値が変化しない場合、変換を含むプロジェクトの plugin.xml ファイルで、このプロパティーと値を設定できます。また、readonly 属性は true に設定します。

変換の実行時にこのプロパティーの値が頻繁に変化する場合は、com.ibm.xtools.transform.core.ITransformContext インターフェースで setPropertyValue メソッドを起動して、プロパティーの値を指定および更新できます。 PROGRESS_MONITOR_TASK_NAME プロパティーの「場所」列の情報を参照してください。 このメソッドを使用してプロパティーを更新した場合は、plugin.xml ファイルでそのプロパティーを指定する必要はありません。

PROGRESS_MONITOR_TASK_NAME メタタイプ: String

値: 変換の作成者により定義されます。

読み取り専用: false

このプロパティーは、「進行状況」ウィンドウの進行状況表示バーの下に表示されるテキストを指定します。

指定する値は、属性の目的がユーザーに明確になるよう、詳細に記述する必要があります。例えば、「ソース・モデルのクラスを処理中」とします。

規則、抽出、または変換式といった変換要素は、com.ibm.xtools.transform.core.UpdateProgressMonitorRule 規則のインスタンスを変換式が実行する前に、このコンテキスト変数を設定します。以下に例を示します。
private AbstractTransform createClassTransform(ITransformationDescriptor desc) {
	Transform classTransform = new Transform(desc);
	// Add the transform elements that read the source classes.
	// One of these elements must set the following transform
	// context variables by invoking the setPropertyValue method in the com.ibm.xtools.transform.core.ITransformContext interface:
	// -PROGRESS_MONITOR_INCREMENT 
	// -PROGRESS_MONITOR_TASK_NAME
	
	// Add the rule to update the progress monitor.
	classTransform.add(new UpdateProgressMonitorRule("myRuleId", "myRuleName"));
	return classTransform;
} 
PROGRESS_MONITOR_WORK_UNITS メタタイプ: 正の整数

値: 変換の作成者により定義されます。

読み取り専用: true

このプロパティーは、変換の実行中に「進行状況」ウィンドウの進行状況表示バーが変換によって更新されるが、変換のコアによっては更新されないことを指定します。 このプロパティーの値は、変換での作業単位数を示します。
このプロパティーの値は、次のいずれかの方法で決定できます。
  • 変換が生成するファイル数を判別します。そして変換コードのさまざまな場所で、作業単位数を変換が生成したファイル数で割った値で、進行状況表示バーを更新します。
  • 正の整数を選択します。作業単位数の一部を変換ソースの解析に、残りの作業単位数をターゲット成果物の生成に割り当てます。 各タスクが完了したら、完了した作業単位のパーセンテージの分だけ、進行状況表示バーを更新します。

進行状況表示バーの更新について詳しくは、このトピックの最後にある『関連タスク』を参照してください。

変換の plug-in.xml ファイルで、<Transformation> 要素内に <Property> 要素を作成します。このトピックの冒頭にあるコード・フラグメントがその例です。
replaceUML メタタイプ: Boolean

値: デフォルトでは、このプロパティーは true に設定されています。

読み取り専用: true

このプロパティーは、変換が「UML 要素の置換」という名前のユーティリティーをサポートするかどうかを指定します。

このプロパティーを true に設定すると、混合モデリング・プロトコルがオプションとして変換構成エディターまたは変換構成ウィザードに表示されます。

supportsSilentMode このプロパティーは、変換をサイレント・モードで実行できるかどうかを指定します。サイレント・モードで実行すると、変換の実行時に、出力に影響する情報についてのプロンプトが変換のユーザーに表示されません。

このプロパティーを true に設定すると、変換構成エディターの「メイン」ページに、チェック・ボックスが表示されます。 変換のユーザーはこのチェック・ボックスを選択して、変換をサイレント・モードで実行できます。

これらのプロパティーを plugin.xml ファイルの <Transformation> 要素に追加します。以下に例を示します。
<Transformation
	...
	supportsSilentMode="true"
	supportsSourceOverride="false"
	targetModelType="resource"
	version="1.0.0/>
	...
</Transformation>
supportsSourceOverride このプロパティーは、変換構成でユーザーが指定した変換ソースのオーバーライドを、変換がサポートするかどうかを指定します。

このプロパティーを true に設定すると、変換のこのインスタンスを実行する追加のオプションを提供するポップアップ・メニューが使用可能になります。 変換のユーザーが、「プロジェクト・エクスプローラー」ビューまたは UML 図で、変換ソースを表すオブジェクトを右クリックして変換ソースをオーバーライドすると、Eclipse ワークベンチにポップアップ・メニューが表示されます。

usesMapping このプロパティーは、変換が変換マッピング・ユーティリティーを使用するかどうかを指定します。

このプロパティーを true に設定すると、「マッピング」ページが、変換構成エディターに表示されます。 このページを表示することにより、変換のユーザーがマッピング・モデルを作成して編集できるようになります。

変換の plug-in.xml ファイルで、<Transformation> 要素内に <Property> 要素を作成します。このトピックの冒頭にあるコード・フラグメントがその例です。
usesReporting このプロパティーは、レポート・ツールを使用して、エラー・ログ内に変換レポートを出力するかどうかを指定します。
このプロパティーを true に設定すると、変換構成エディターの「メイン」ページに次のオプションが表示されます。
  • 変換の完了時に「レポート」ダイアログ・ボックスを開く
  • 「レポート」ダイアログ・ボックスに警告を表示
最初のオプションは、変換の実行時に発生した問題を表示するウィンドウを開くかどうかを指定します。 2 番目のオプションは、変換で「レポート」ダイアログ・ボックスに警告を表示するかどうかを指定します。デフォルトでは、このウィンドウにはエラーのみが表示されます。

フィードバック