Oracle ADFライフサイクルについて

Oracle ADFで作成するアプリケーションは、Oracle ADFライフサイクル・インタフェースの実装を使用します。このインタフェースには、Webページのアクションをモデル・データ・バインディングに接続する際に必要なフックが用意されています。ライフサイクルは、Webページに必要な正しいバインディング・コンテナをコールし、バインディング・コンテナ内のバインディングに基づいて、レンダリングされるデータを準備します。バインディング・コンテナは、ページをレンダリングする前に、データをプールしてローカルで保存します。ライフサイクルは、Webページがレンダリングされる前の、データベースに対する不要なラウンドトリップを回避することで、レンダリング・プロセス中のアプリケーションのパフォーマンスを向上させます。

ライフサイクル・インタフェースの動作は、Strutsコントローラから独立しているため、モデル1アプリケーションとモデル2アプリケーションのどちらもライフサイクル・インタフェースを使用します。ライフサイクルは、次の処理を実行します。

  1. 更新を発生させるどうかを制御します。
  2. 更新が発生することを確認します。
  3. 更新を検証します。
  4. 作成、更新、削除およびカスタム・イベントなどのモデル・イベントを処理します。
  5. 次のページまたはアクションへのアクション・フォワードをディスパッチします。

Oracle ADFライブラリには、ライフサイクル・クラスがいくつか用意されています。選択するテクノロジ・スコープによって、アプリケーションで使用するライフサイクル・クラスが決まります。

注意: すべてのライフサイクル・クラスは、ライフサイクル・コンテキストを使用して、ライフサイクル・メソッドで必要なパラメータを指定します。

次の図は、クラスの階層とパッケージを示しています。

Class hierarchy of lifecycle classes, described in text

ADFフレームワークは、クラスの動作をカスタマイズした場合でも、これらのクラスを透過的に使用します。ライフサイクル・メソッドはオーバーライドできます。ただし、メソッドをコールする順序は変更できません。

ライフサイクル・インタフェースと、それを実装するクラスの詳細は、次のJavadocを参照してください。

oracle.adf.controller.lifecycle.Lifecycle
oracle.adf.controller.lifecycle.PageLifecycle
oracle.adf.controller.struts.actions.StrutsPageLifecycle
oracle.adf.controller.struts.actions.StrutsUixLifecycle

また、アプリケーションのテクノロジ・スコープ内にあるクラスのソース・コードは、JDeveloperのメイン・メニューから「ナビゲート」->「Javaクラスに移動」を選択して表示できます。ダイアログのテキスト・フィールドにクラス名を入力し、「OK」をクリックします。


Oracle ADFデータ・コントロールについて
Oracle ADFライフサイクルのカスタマイズ

 

Copyright © 1997, 2004, Oracle. All rights reserved.