Oracle Application Development Framework(Oracle ADF)では、特定のビジネス・オブジェクトに対してOracle ADFデータ・コントロールが公開する属性と操作をサポートするために、次のような複数のタイプのバインディング・オブジェクトを提供しています。
データ・コントロール・パレット、ビジュアル・エディタ、構造ウィンドウおよびプロパティ・インスペクタを操作して、これらのバインディングを作成します。次のいずれかの方法により、アプリケーションでバインディングを表示できます。
Webページのソース・コード・ビュー。実行時に評価される式の中にバインディング参照が表示されます。参照の書式は、ページに使用しているタグの種類に応じて異なります。
たとえば、Strutsアプリケーションまたはモデル1形式のアプリケーション用に作成されたJSPでは、コードは次のように表示されます。このコードは、式言語(EL)機能を使用しています。
<c:forEach var="var" items="${bindings.BindingObject.CollectionProperty}">
JSFタグまたはADF Facesタグを使用するJSF JSPの場合、コードは次のように表示されます。
<h:outputText value="#{bindings.BindingObject.property}"/>
いずれの場合も、Oracle ADFバインディング・コンテナにはbindings
変数を介してアクセスします。この変数は、ADFバインディング・コンテキスト内でバインディング・コンテナのネームスペースを指定します。ページのバインディングは、ページにデータ・コントロールを追加するときにページ用に作成されるページ定義ファイル内で定義されます。アプリケーションに使用されるページ定義ファイルのリストと、使用されるデータ・コントロールの詳細は、アプリケーションのDataBindings.cpx
ファイルに保持されます。
また、いずれの場合も、バインディング・コンテナはADFライフサイクルにより初期化されます。各種アプリケーションのページに対するADFライフサイクルの実行方法の詳細は、「Oracle ADFページのライフサイクルについて」を参照してください。
ADF Swingパネルまたはフォームのコード・ビュー。UIコンポーネントに対するsetModel()
メソッドのコールがデータ・バインディング・オブジェクトを初期化し、ADFバインディング・コンテキストを介してバインディング・コンテナ(データ・パネルに対するsetBindingContext()
メソッドのコールで指定される)にアクセスします。
バインディング・コンテナは、パネル・バインディングが作成された時点で、ADF Swingプロジェクト内のPanelName
PageDef.xml
ファイルにより初期化されます(JUPanelBinding panelBinding
コンストラクタにより)。
いずれかのクライアント・タイプ(WebページまたはADF Swingパネル)の構造ウィンドウ。ページ構造のレベルを開くと、ビュー・ドキュメントで各UIコンポーネントに対して定義されたデータ・バインディング・オブジェクトが表示されます。バインディング定義の宣言プロパティを編集するには、右クリックして「ADFmバインディングのプロパティを編集」または「プロパティ」を選択します。ページのページ定義ファイルのエントリを表示して編集するには、右クリックして「ページ定義に移動」を選択します。ページのページ定義ファイルの構造が表示され、ページのデータ・コントロールのエントリを編集できます。
次の項では、各バインディングについて説明します。
イテレータ・バインディングは、oracle.jbo.uicli.binding.JUIteratorBinding
クラスによって実装されます。
イテレータ・バインディングは、Oracle ADFバインディング・コンテキストへアクセスするためにアプリケーションにより作成されるランタイム・オブジェクトです。イテレータ・バインディングは、バインドされるデータ・コレクションへの参照を保持してそれにアクセスし、そのデータ・オブジェクトを反復します。イテレータ・バインディングは、行の現在位置と行の状態を値バインディングに通知します。すると、定義された値バインディングによってUIコンポーネントが、反復されているコレクションの現在のオブジェクトを表示または更新できるようになります。このようにして、イテレータ・バインディングは様々なビジネス・サービスからの様々なコレクション・タイプに対し、同一のアクセス方法を提供します。
ADF Business Componentsビュー・オブジェクトの場合、UIコンポーネントに対するADFバインディングは、行の現在位置をインジケータで表示できることがあります。たとえば表の中では、実行時の現在の行が、その行の最初の列に表示されるアスタリスク(*)記号によって識別されます。イテレータ・バインディングを介して行の現在位置インジケータを使用できるのは、バインドされるビュー・オブジェクトにキー属性が定義されている場合のみです。バインドされるビュー・オブジェクトにキー属性が定義されていない場合、表のどの行にもアスタリスクが表示されます。この場合、ビジュアル・エディタでUIコンポーネントを編集して、実行時にアスタリスクが表示されないようにすることができます。
イテレータ・バインディングは、独自のランタイム・プロパティ・セットを定義します。
属性値バインディングは、 oracle.jbo.uicli.binding.JUCtrlValueBinding
クラスによって実装されます。
属性値バインディングでは、データ・バインドされたUIコンポーネントが、指定されたコレクションのデータ・オブジェクトの属性値を取得できます。UIコンポーネントのタイプによっては、ユーザーが属性値を表示でき、また編集が可能な場合もあります。
属性値バインディングは、独自のランタイム・プロパティ・セットを定義します。
ブール値バインディングは、 oracle.jbo.uicli.binding.JUCtrlBoolBinding
クラスによって実装されます。
ブール・バインディングは、コントロールの選択状態に基づいて、指定されたコレクションのデータ・オブジェクトの属性値を取得します。
ブール値バインディングは、独自のランタイム・プロパティ・セットを定義します。
リスト・バインディングは、 oracle.jbo.uicli.binding.JUCtrlListBinding
クラスによって実装されます。
UIコンポーネントのタイプに応じて、リスト・バインディングは次のことを実行できます。
リスト値バインディングは、独自のランタイム・プロパティ・セットを定義します。
レンジ・バインディングは、 oracle.jbo.uicli.binding.JUCtrlRangeBinding
クラスによって実装されます。
レンジ・バインディングを使用すると、データ・バインドされたUIコンポーネントが、指定されたコレクション内のデータ・オブジェクトから属性値を取得し、そのレンジに対する現在のデータ・オブジェクトの相対位置を表示できます。
レンジ・バインディングは、独自のランタイム・プロパティ・セットを定義します。
スクロール・バインディングは、 oracle.jbo.uicli.binding.JUCtrlScrollBinding
クラスによって実装されます。
スクロール・バインディングを使用すると、データ・バインドされたUIコンポーネントは、選択されたコレクション内のデータ・オブジェクトの現在位置を表示できます。ユーザーがUIコンポーネントをスクロールした場合、スクロール・バインディングはコレクション内での現在の位置を維持します。
スクロール値バインディングは、独自のランタイム・プロパティ・セットを定義します。
アクション・バインディングは、 oracle.jbo.uicli.binding.JUCtrlActionBinding
クラスによって実装されます。
アクション・バインディングは、Oracle ADFで定義されるバインディング・オブジェクトの一種で、バインド・データ・コレクションの行セット・イテレータに対してアクションを実行します。実行時、ユーザーがボタン・コントロールを使用してアクションを起動した場合、アクション・バインディングはOracle ADFバインディング・コンテキストにアクセスし、選択されたコレクションのデータ・オブジェクトに対して指定されたアクションを起動します。アクション・バインディングは、事前定義された多くのアクションをサポートしています。
アクション・バインディングは、独自のランタイム・プロパティ・セットを定義します。
ADFバインディング・コンテキストが実行時にこれらのバインディング・オブジェクトへのアクセスを提供する方法の詳細は、「Oracle ADFアプリケーション・アーキテクチャについて」を参照してください。
データ・コントロール・パレットの使用の詳細は、次のトピックを参照してください。
バインディングのカスタマイズの詳細は、次のトピックを参照してください。
Copyright © 1997, 2006, Oracle. All rights reserved.