CommandBar コンポーネント

CommandBar コンポーネントを使用して、アプリケーションにアクション・ボタンを追加します。 コンポーネントは、ユーザー・インターフェースでのアクション用のボタンを作成し、 ボタンがクリックされたときに作成されるイベントを処理します。

これらのボタンは、BPCListHandler クラスや BPCDetailsHandler クラスなど、 com.ibm.bpe.jsf.handler.ItemProvider インターフェースによって戻されるオブジェクトで動作する機能を起動します。 CommandBar コンポーネントは、 bpe:commandbar タグで model 属性の値によって定義された項目プロバイダーを使用します。

コマンドの処理方法

アプリケーションのユーザー・インターフェースのコマンド・バー・セクションにあるボタンをクリックすると、関連するイベントが CommandBar コンポーネントによって次のように処理されます。
  1. CommandBar コンポーネントは、 イベントを生成したボタンに対して指定された com.ibm.bpc.clientcore.Command インターフェースのインプリメンテーションを示します。
  2. CommandBar コンポーネントに関連するモデルが com.ibm.bpe.jsf.handler.ErrorHandler インターフェースをインプリメントすると、 前のイベントからのエラー・メッセージを削除するため、clearErrorMap メソッドが呼び出されます。
  3. ItemProvider インターフェースの getSelectedItems メソッドが呼び出されます。 戻された項目のリストは、コマンドの execute メソッドに渡され、コマンドが呼び出されます。
  4. CommandBar コンポーネントは、 JavaServer Faces (JSF) ナビゲーション・ターゲットを決定します。 bpe:commandbar タグで action 属性が指定されていない場合は、 execute メソッドの戻り値によってナビゲーション・ターゲットが指定されます。 action 属性が JSF メソッド・バインディングに設定されている場合は、 メソッドによって戻されたストリングがナビゲーション・ターゲットと解釈されます。 action 属性は、明示的なナビゲーション・ターゲットも指定します。

エラー処理

bpe:commandbar タグにおいて action 属性 によって指定された action メソッドは、次のいずれかの条件が満たされる場合に呼び出されます。
  • 例外がスローされない。
  • 例外がスローされる場合は、ErrorsInCommandException 例外である。
CommandBar コンポーネントでエラー処理をインプリメントする方法をいくつか示します。
  • CommandBar コンポーネントの機能を使用しないことが可能です。 例えば、選択したコマンドに固有のページにエラーを表示する場合は、 コマンドのインプリメンテーションによって、発生した例外をキャッチし、エラー・ページに使用するページ Bean にそれを伝搬することができます。 bpe:commandbar タグの context 属性を使用して、ページ Bean をコマンド・インプリメンテーションに使用できるようにすることができます。 ページ Bean で例外が設定された後、コマンドは、エラー・ページ用に定義された JSF ナビゲーション・ルールのストリングを戻します。
  • ユーザー・インターフェースのコマンド・バー・セクションの下にエラー・メッセージを表示する場合は、com.ibm.bpc.clientcore.exception.CommandBarMessage マーク文字インターフェースをインプリメントする例外クラスを作成します。 このインターフェースは、エラー・メッセージのメッセージ・カタログを提供します。
  • コマンドが項目のリストで動作する場合は、 リスト内の各項目についてコマンドの成功をトラッキングすることができます。 エラーをトラッキングするには、操作が失敗した項目に各例外をマップします。 CommandBar コンポーネントは、キーとしての ID と値としての例外を含むマップを、 CommandBar コンポーネントに対して定義されたモデル・オブジェクトに渡すことができます。

    このメカニズムを機能させるには、モデル・オブジェクトが com.ibm.bpe.jsf.handler.ErrorHandler インターフェースをインプリメントし、 コマンドが com.ibm.bpc.clientcore.exception.ErrorsInCommandException 例外をスローする必要があります。 次に、CommandBar コンポーネントは、例外に含まれているマップをエラー・ハンドラーに渡します。 エラーは発生しましたが、このアクション・メソッドがトリガーされ、 現在のビューが更新されます。 Business Process Choreographer Explorer アプリケーションは、 このメソッドを利用して、リストで例外を表示します。

  • CommandBarMessage インターフェースをインプリメントしない ClientException 例外を スローし、例外が ErrorsInCommandException ではない場合、 CommandBar コンポーネントは、アプリケーションの構成ファイルで 定義された BPCError エラー Bean に例外を伝搬します。エラー・ページでエラー処理が続けられます。

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。