WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

1 つの Java クラスを使用するユーザー定義エディター・コードの例

サンプル Java™ コードを使用して、1 つの Java クラスを使用することにより、テキスト・ボックスを表示するユーザー定義エディターを作成します。

以下のコード例は、1 つの Java クラスを使用して、パターン・ユーザーにテキスト・ボックス・ユーザー定義エディターを表示する方法を示しています。 MyEditor クラスは BasePatternPropertyEditor クラスを拡張し、ユーザー定義エディター構成でユーザー定義エディター・クラスとして指定されます。ユーザー定義エディターの構成を参照してください。 パターン・ユーザーがパターン・インスタンス・エディターを開いたときに MyEditor クラスのインスタンスが自動的に作成されます。
  1. ユーザー定義エディター・クラスが作成された後に configureEditor() メソッドが自動的に呼び出されます。 このメソッドはエディターをセットアップします。
  2. エディターのユーザー・インターフェースを作成するために、createControls() メソッドが呼び出されます。
    1. ユーザー・インターフェース用として SWT ツールキット・オブジェクト Composite が使用されます。
    2. テキスト・ボックス・コントロールが作成され、テキスト・ボックスの SWT レイアウト情報が定義されます。
    3. テキスト・ボックスのリスナーが定義されます。 これは、エディター用の PatternPropertyEditorSite オブジェクトの valueChanged() メソッドを呼び出します。 これにより、テキスト・ボックス内の選択された値が変更されたとき、このパラメーターの値を使用するすべての XPath 式またはエディターに確実に変更通知が送られます。
  3. setValue() メソッドは、テキスト・ボックスの初期値を設定します。 この例では、コードはブランクの値をフィルターで除外します。 また、コードは、ウォーターマーク値を除去するために < で始まる値もフィルターで除外します。 ここではウォーターマーク値が不等号括弧で囲まれていることを想定しています。
  4. getValue() メソッドはテキスト・ボックスの現行値を読み取り、その値をパターン・インスタンス・エディターに戻します。 パターン・インスタンス・エディターはこの戻り値をパターン・パラメーターの値として使用します。
  5. setEnabled() メソッドは、パターン・パラメーターが有効/無効のどちらになっているかに応じて、テキスト・ボックス・コントロールを有効または無効にします。 XPath 式を使用してパラメーターを有効/無効にすることが可能です (パターン・パラメーターの有効化を参照)。 XPath 式の結果としてパラメーターが有効または無効になったときに、パターン・インスタンス・エディターから setEnabled() メソッドにブール値が渡されます。 パラメーターが有効である場合、ブール値は true です。 パラメーターが無効である場合、ブール値は false です。
package com.your.company.domain.MyPattern.code;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;

import com.ibm.broker.config.appdev.patterns.ui.*;

public class MyEditor extends BasePatternPropertyEditor {

   private Text text;

   @Override
   public void configureEditor(PatternPropertyEditorSite site, boolean required, String configurationValues) {
      super.configureEditor(site, required, configurationValues);
	}

   @Override
   public void createControls(Object parent) {
      Composite composite = (Composite) parent;

      text = new Text(composite, SWT.BORDER);

      GridData textLayoutData = new GridData(GridData.FILL_HORIZONTAL);
      textLayoutData.horizontalIndent = 0;
      text.setLayoutData(textLayoutData);

      text.addListener(SWT.Modify, new Listener() {
         @Override
         public void handleEvent(Event event) {
            PatternPropertyEditorSite site = getSite();
            site.valueChanged();
         }
      });
   }

   @Override
   public void setValue(String value) {

      if (value != null) {
         if (value.startsWith("<") == false) {
            text.setText(value);
         }
      }
   }

   @Override
   public String getValue() {
      String value = text.getText();
      if (value.length() > 0) {
         return value;
      }
      return null;
   }

   @Override
   public void setEnabled(boolean enabled) {
      text.setEnabled(enabled);
   }
}
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:44


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | bc31430_