カスタムの作成 ホスト・コンポーネント

ZIETrans は「コンポーネントの作成 (Create Component)」ウィザードを提供しており、カスタム・コンポーネントの作成を支援します。いくつかの方法でウィザードを開始できます。
  • ZIETrans Toolkit「ファイル」>「新規」>「ZIETrans コンポーネント」メニューから
  • ZIETrans Toolkit「ZIETrans」>「新規」>「コンポーネント」メニューから
  • ZIETrans プロジェクトのコンテキスト・メニュー (右マウス・ボタンをクリック) から「新規 ZIETrans」>「コンポーネント」を選択

「コンポーネントの作成 (Create Component)」ウィザードには 2 つのパネルがあります。最初のパネルでは、プロジェクト名、新規コンポーネント名、コンポーネントの Java™ パッケージ名を入力します。オプションで、新規コンポーネントによって使用される設定の構成用の GUI パネルを定義できるスタブ・メソッドを組み込むためのチェック・ボックスを選択することができます (詳しくは、ZIETrans Toolkit のカスタム・コンポーネントおよびウィジェットの設定に対するサポートを参照)。2 番目のパネルでは、ZIETrans Toolkit で新規コンポーネント名として表示する名前を入力し、そのコンポーネントに関連付けるウィジェットを選択します。ウィジェットの関連付けはウィザードを完了するうえで必須ではありません。コンポーネントとウィジェットの関連は後で定義できます。コンポーネントとウィジェットの関連付けについての詳細は、コンポーネントまたはウィジェットの登録を参照してください。

次のセクションでは、ウィザードが提供するカスタム・コンポーネントの必須エレメントについて説明します。
  • ホスト・コンポーネント 抽象クラス、com.ibm.hats.transform.components.Component を拡張します。

    ZIETrans ホスト・コンポーネントの 1 つが、ユーザーが必要なものとよく似ている場合、そのコンポーネントの拡張はより容易です。詳しくは、コンポーネント・クラスの拡張を参照してください。

  • コンストラクター・メソッドを追加。コンポーネントに指定されたこのメソッドは、com.ibm.hats.common.HostScreen オブジェクトを受け入れる必要があります。例:
    public MyComponent(HostScreen hostScreen) {
    		super(hostScreen);
    }
    コンストラクターは、ホスト画面オブジェクトに基づいて、recognize() メソッドが必要とするパラメーターを初期化します。
  • recognize() メソッドを追加。
    public ComponentElement[] recognize(BlockScreenRegion region, 
                                        Properties settings)
    recognize() メソッドは、ホスト・コンポーネント・クラスごとに別々のインプリメンテーションを用います。これは、渡された領域および設定値を受け入れ、コンポーネント・エレメント・オブジェクトの配列を戻します。ご使用のパターン認識論理をインプリメントするには、このメソッドをインプリメントする必要があります。

    recognize() メソッドは、com.ibm.hats.transform.elements.ComponentElement で定義されているように、ComponentElement オブジェクトの配列を戻す必要があります。ZIETrans コンポーネントは、ComponentElement を拡張する一連のエレメントとして、それぞれやや異なる値を戻します。例えば、SelectionListComponent は、SelectionComponentElement オブジェクトの配列を戻します。このコンポーネント・エレメントの配列は、指定されたウィジェットに渡されるので、使用するウィジェットが受け入れることのできるエレメントの配列が戻されるようにしてください。

    このメソッドの引数については、「ZIETrans API References (Javadoc)」でコンポーネント・クラスの recognize() メソッドの説明を参照してください。『API 資料の使用 (Javadoc)』を参照してください。

  • プロジェクトのソース・フォルダーにコンポーネントのソース・コードを追加。
  • Eclipse ワークベンチのプリファレンス (「ウィンドウ」>「設定」>「一般」>「ワークスペース」または「プロジェクト」>「自動的にビルド」) で、「自動的にビルド」にチェック・マークが付いている場合に、新規コンポーネント .java ファイルをコンパイルします。コンポーネントが .class ファイルにコンパイルされていない場合、ZIETrans Toolkit では使用できません。
  • ComponentWidget.xml ファイルに新規コンポーネントを登録。コンポーネントの登録の詳細については、コンポーネントまたはウィジェットの登録を参照してください。
チェック・ボックスを選択し ZIETrans Toolkit グラフィカル・ユーザー・インターフェースのサポート・メソッドを組み込んだ場合は、コンポーネントの設定変更が可能になるとともに、「コンポーネントの作成」ウィザードで以下のメソッドが追加されます。
  • プロパティー設定でページ番号を戻すメソッド。
    public int getPropertyPageCount() {
    		return (1);
    }
  • カスタマイズ可能な設定を戻すメソッド。
    public Vector getCustomProperties(int iPageNumber, Properties properties,
    			ResourceBundle bundle) {
    		return (null);
    }
  • カスタマイズ可能な設定のデフォルト値を戻すメソッド。
    public Properties getDefaultValues(int iPageNumber) {
    		return (super.getDefaultValues(iPageNumber));
    	}

カスタム・コンポーネントのサポートに必要なメソッドの詳細については、ZIETrans Toolkit のカスタム・コンポーネントおよびウィジェットの設定に対するサポートを参照してください。

注: デフォルト・レンダリング内でコンポーネントを正しく 機能させるには、コンポーネント・エレメントを戻す前に、コンポーネントが戻す各コンポーネント・エレメントで 使用された領域 (処理されたホスト画面の領域) を設定する必要があります。これによって、デフォルト・レンダリングは、ホスト・コンポーネントによってこの画面領域が使用 (処理) されたため 再び処理すべきではないということを認識します。使用された領域を設定するには、次のメソッドを使用します。
public void setConsumedRegion(BlockScreenRegion region)
詳しくは、「ZIETrans API References (Javadoc)」で ComponentElement クラスの説明を参照してください。API 資料の使用 (Javadoc) を参照してください。