ビュー・オブジェクトの状態とイベント

Business Components for Javaフレームワークは、ビジネス・ロジック層オブジェクト間でイベントを伝播するための標準のJava/EJBイベント委任モデルに準拠しています。発行側(送信側とも呼ばれる)がイベントを起動し、受信側(リスナーとも呼ばれる)がそれに応答します。

Javaのイベント・タイプは、java.util.EventObjectを拡張したクラスです。フレームワークでは、受信側でRowSetListenerインタフェースのメソッドをコールし、生成されたイベント・タイプのインスタンスが渡されることで、発行側から受信側にイベントが送信されます。受信側は、発行側のaddEventTypeListener()を使用してリスナーを登録します。

発行側は、これらのイベントに対する特定のリスナーを登録するためのaddEventTypeListenerメソッドを提供し、生成するイベントのセットを定義します。

受信側は、特定のEventListenerインタフェースであるRowSetListenerを実装し、java.util.EventListenerを拡張します。EventListenerインタフェースは、インタフェースにより処理される各イベント・タイプに応じてコールされる1つ以上のメソッドを定義します。

oracle.jboパッケージには、次のようなビルトイン・イベント用のBusiness Components for Javaクラスがあります。これらのクラスは、各種のビジネス・コンポーネントにより発行でき、複数層通信の管理に使用されます。

イベント・クラス

説明

JboEvent

java.util.EventObjectを拡張します。すべてのビジネス・コンポーネント・イベントは、このクラスのサブクラスです。

NavigationEvent

ビュー・オブジェクト内のイテレータの位置が変わると起動されます。次のメソッドが用意されています。

  • getPreviousRow

  • getPreviousRowIndex
  • getNextRow
  • getNextRowIndex
  • toString

RangeEvent

Range向けのイベントのベース・クラスです。RangeRefreshEventおよびScrollEventは、このクラスのサブクラスです。

        RangeRefreshEvent

行が更新される際ではなく、Rangeがリフレッシュされる際に起動されます。行の更新には、UpdateEventを使用します。RangeEventメソッド以外に、次のメソッドが用意されています。

  • getAllRowsInRange

  • getRangeStart
  • getRowCountInRange
  • toString

ScrollEvent

Rangeがスクロールされると起動されます。RangeEventメソッド以外に、次のメソッドが用意されています。

  • getRangeStartBefore

  • getScrollAmount
  • getFirstNewRowRangeIndex
  • getNewRowCountInRange

RowEvent

RowEventは、他の行向けのイベントのベース・クラスです。次のメソッドが用意されています。

  • getRow

  • getRowIndex

InsertDeleteEvent

挿入または削除イベントで使用されます。RowEventメソッド以外に、次のメソッドが用意されています。

  • getRowCountInRangeBefore

  • getRowCountInRange

注意: getRowIndexは、Rangeを基準にしたものではなく、行の絶対索引を返します。

InsertEvent

toStringメソッドを提供します。

DeleteEvent

toStringメソッドを提供します。

UpdateEvent

次のメソッドを追加します。

  • getChangedAttrIndices

  • getChangedAttrNames