変換の表示/非表示を制御する機能の作成

変換をバインドできる機能を作成することができます。 作成する変換とは異なるプラグインに機能を作成する必要があります。 複数の変換を 1 つの機能にバインドできます。 この機能によって、「新規変換構成」ウィザードや変換のポップアップ・メニューにある使用可能な変換のリストで、変換を表示したり非表示にしたりできます。
始める前に
機能にバインドする変換のプラグイン名および変換 ID が分かっている必要があります。
このタスクについて

機能の作成のほかに、機能のグループ化である機能カテゴリーを新規作成することもできます。 例えば、作成したモデルからモデルへの変換ごとに 1 つの機能を含む機能カテゴリーを作成できます。

また、IBM® Rational® モデリング製品で は言語固有の変換用に機能を作成することもできます。

変換を表示したり非表示にしたりする機能を作成するには、以下のようにします。

  1. プラグイン・プロジェクトを作成します。
  2. ナビゲーション・ビューで、プラグイン・マニフェスト・ファイルをダブルクリックし、プラグイン・マニフェスト・エディターの「拡張」ページで、 「org.eclipse.ui.activities」という名前の拡張ポイントを追加します。この拡張ポイントによって、以下の表にある項目が定義されます。
    項目 説明
    機能の名前および説明 <activity> 要素にこの情報を指定します。
    機能カテゴリーの名前および説明 <category> 要素にこの情報を指定します。

    複数の機能カテゴリーを作成できます。

    それぞれの機能と機能カテゴリー間の関係 <categoryActivityBinding> 要素にこの情報を指定します。
    機能に関連付けられているパターンまたは変換 <activityPatternBinding> 要素にこの情報を指定します。

    1 つの変換を複数の機能にバインドすることができます。

    pattern 属性は、変換プラグイン名および ID を指定する必要があり、そのフォーマットは 、x/y (x は変換プラグイン名を表し、y は変換 ID を表します) です。

    pattern 属性に正規表現 (com.myCompany.myPlugin/com.myCompany.* など) を指定することで、 複数の変換を 1 つの機能にバインドすることができます。

  3. 「ファイル」 > 「保存」をクリックします。
  4. プラグインをコンパイルします。
  5. プラグインをテストします。例えば、Eclipse ワークベンチの別のインスタンスでプラグインをテストできます。
  6. プラグインをデプロイします。
タスクの結果
次回に「ウィンドウ」 > 「設定」とクリックした際に、新規機能カテゴリーおよびその機能が 「機能」ペインに表示されます。

以下の例では、「My transformations」という機能カテゴリー、2 つの機能、および変換群とそれに該当する機能の間のバインドを作成します。 この例では、カスタムの UML から Java への変換の機能と、 モデルからモデルへの変換群の機能を作成します。

<extension point="org.eclipse.ui.activities">
      <activity description="This capability references the transformation called MyUMLToJavaTransformation." id="myCapability.activity1" name="My UML-to-Java transformation">
      </activity>
      <activity description="This capability references my model-to-model transformations." id="myCapability.activity2" name="My model-to-model transformations">
      </activity>
      <category id="myCapability.category1" description="My transformations" name="My transformations">
      </category>
      <categoryActivityBinding activityId="myCapability.activity1" categoryId="myCapability.category1">
      </categoryActivityBinding>
      <categoryActivityBinding activityId="myCapability.activity2" categoryId="myCapability.category1">
      </categoryActivityBinding>
      <activityPatternBinding activityId="myCapability.activity1" pattern="com¥.myCompany¥.myPlugin/com¥.myCompany¥.myTransformation¥.MyUMLToJavaTransformationIdentifier">
      </activityPatternBinding>
      <activityPatternBinding activityId="myCapability.activity2" pattern="com¥.myCompany¥.myPlugin/com¥.myCompany¥.myTransformation¥.modeltomodel.*">
      </activityPatternBinding>
</extension>

フィードバック