グローバル変数の追加

グローバル変数を追加する方法について説明します。

このタスクについて

Eclipse と一緒に ilog.rules.studio.javascript プラグインを使用することで、ルール・プロジェクトが含まれるフォルダーや事前構成済みのワークスペースに対するタスクを自動化することができます。

次の例は、out というグローバル変数を追加して次のものの完全修飾呼び出しを置き換える方法を示しています。

java.lang.System.out.println(<text message>);

手順

グローバル変数を追加するには、次の手順に従います。

  1. 「ファイル」 メニューで、 「新規」 > 「プロジェクト」をクリックします。
  2. 「プラグイン開発」 カテゴリーの下で、 「プラグイン・プロジェクト」 を選択し、 「次へ」をクリックします。
  3. 「プロジェクト名」 フィールドに名前を入力し、 「次へ」をクリックします。
  4. 完了」をクリックします。
  5. 「プラグイン開発」パースペクティブを開くには、 「はい」 をクリックします。
  6. 「依存関係」タブをクリックし、 「必須プラグイン」 の下で 「追加」をクリックします。
  7. ilog.rules.studio.eclipsemonkey を依存関係に追加します。
  8. 「拡張ポイント」タブをクリックし、 「追加」をクリックします。
  9. 「拡張ポイント ID」 フィールドおよび 「拡張ポイント名」 フィールドで、 ilog.rules.studio.eclipsemonkey.dom と入力し、 「終了」をクリックします。
  10. 「plugin.xml」タブをクリックした後、次のテキストを入力します。
    <extension point="ilog.rules.studio.eclipsemonkey.dom">
       <dom
          class="javascriptsystem.dom.SystemOutDOMFactory"
          name="System.out"
          variableName="out"/>
    </extension>
    

    この拡張機能は、 out 変数で使用された場合に JavaScript メソッド呼び出しが転送される Java™ インスタンスを作成するファクトリーを宣言します。

結果

この時点で、プラグインの「拡張」タブには新しいプラグイン・プロジェクトが含まれています。

「プラグイン拡張」タブ

ここで、ファクトリーの実装を追加する必要があります。 ファクトリーには、getDOMroot というメソッドが 1 つだけ含まれています。 このメソッドは、メソッド呼び出しの転送先のクラスの Java インスタンスを作成します。

次の SystemOutDOMFactory の例は、System.out 静的インスタンスを返します。

package javascriptsystem.dom;

import ilog.rules.studio.eclipsemonkey.dom.IMonkeyDOMFactory;

public class SystemOutDOMFactory implements IMonkeyDOMFactory {
  public Object getDOMroot() {
    return System.out;
  }
}

このグローバル変数を追加することによって、各印刷コマンドが標準出力に向けられるように簡素化します。 次の例に示すように、パラメーターを使用してテキスト・メッセージを書式設定するなどのメソッドを提供する複雑なオブジェクトを作成することもできます。

function main() {
    // instead of java.lang.System.out.println("my message");
    out.println("my message");
}