第7章 イベント、インターセプタ、例外処理
コンテキスト依存コンポーネントモデルを補完するために、Seam アプリケーションの特徴である極度の疎結合を促進させる 2 つの基本概念が存在します。1 つ目の基本概念は、強力なイベントモデルであり、イベントは JavaServer Faces (JSF) のイベントのようなメソッドバインディング式を通じてイベントリスナーにマップされます。2 つ目の概念は、アノテーションやインターセプタを広範囲に使用し、ビジネスロジックを実装するコンポーネントに対して横断的関心事を適用しているということです。
7.1. Seam イベント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Seam コンポーネントモデルは イベント駆動アプリケーション との併用を目的として開発されました。特に、粒度の細かいイベントモデルで、疎結合の粒度の細かいコンポーネントの開発が行えるようになります。 Seam にはイベントのタイプがいくつかあります。
- JSF イベント
- jBPM 遷移イベント
- Seam ページアクション
- Seam コンポーネント駆動イベント
- Seam コンテキスト依存イベント
これらの多様なイベントすべては JSF EL メソッドバインディング式を通じて Seam コンポーネントへマップされます。JSF イベントは、JSF テンプレートで次のように定義されます。
<h:commandButton value="Click me!" action="#{helloWorld.sayHello}"/>
<h:commandButton value="Click me!" action="#{helloWorld.sayHello}"/>
jBPM 遷移イベントは、jBPM プロセス定義またはページフロー定義で規定されます。
JSF イベントや jPBM イベントの詳細は本書以外にも記載されているため、ここでは Seam によって定義される別の 2 種類のイベントについて見ていきます。