ADF Swingフォームでマスター・フォームを作成する手順を完了すると、Javaビジュアル・エディタのフォームは次のように表示されます。
アプリケーション・ナビゲータでは、「ビュー」プロジェクトを完全に展開すると次のようになります。
「DataBindings.cpx」、「FormPageDef.xml」および「PanelOrdersView1HelperPageDef.xml」をダブルクリックして、各ファイルを概要エディタで開きます。必要な場合は、エディタ・ウィンドウの「概要」をクリックして、概要エディタにファイルを表示します。
「PanelOrdersView1HelperPageDef.xml」ファイルは、「Orders」編集フォーム・パネルのページ定義ファイルです。このファイルでは、フォームやパネルに追加されたUIコンポーネントと、Modelプロジェクトのビジネス・サービス・コンポーネント間の相互作用が定義されます。ページ定義ファイルでは、アプリケーションのビュー・レイヤー内の各フォームまたはパネル(ページ)のADFバインディング・コンテナが定義されます。バインディング・コンテナによって、ページに対するすべてのADFバインディング・オブジェクトへの実行時アクセスが提供されます。
データ・コレクション「 OrdersView1」を「データ・コントロール」パネルからドラッグし、メイン・フォームにドロップしてマスター編集フォームを作成したときに、JDeveloperでは、イテレータ・バインディング「
OrdersView1Iterator」が編集フォーム・パネルに追加されています。イテレータ・バインディングでは、データ・コレクションのイテレータが参照され、そのデータ・オブジェクトの反復操作が容易になります。また、コレクション内のデータ・オブジェクトの現在位置と状態も管理されます。イテレータ・バインディングでは、データへのアクセスは実際には行われません。かわりに、データにアクセス可能なオブジェクトが公開され、コレクション内の現行データ・オブジェクトが指定されます。
「データ・コントロール」パネルを使用してUIコントロールをユーザー・インタフェースに追加するたびに、データバインドされたそのコントロールに対するADFバインディング・オブジェクトがページ定義ファイルに作成されます(例: 「 OrderId」および「
OrderDate」)。マスター・フォームには、マスター・コレクション内の単一のデータ・オブジェクトが表示されるため、パネルには、属性レベルのバインディング定義が設定された属性固有のUIコンポーネントが含まれている必要があります。これらの属性は、バインドされたコレクションに対するデータ・オブジェクトの現在位置を管理するADFイテレータ・バインディング・オブジェクトによって、ADFデータ・コントロールにバインドされます。実行時に、属性バインディング・オブジェクトは、現在のオブジェクトのデータを戻すために、またはオブジェクトのデータでアクションを実行するために、イテレータ・バインディングを参照します。属性レベルのバインディングのXMLソース・コードを参照するには、「ソース」をクリックして、「PanelOrdersView1HelperPageDef.xml」の
<bindings>
要素を表示します。
<bindings>
<attributeValues IterBinding="OrdersView1Iterator" id="OrderId"
xmlns="http://xmlns.oracle.com/adfm/jcuimodel">
<AttrNames xmlns="http://xmlns.oracle.com/adfm/uimodel">
<Item Value="OrderId"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="OrdersView1Iterator" id="OrderDate"
xmlns="http://xmlns.oracle.com/adfm/jcuimodel">
<AttrNames xmlns="http://xmlns.oracle.com/adfm/uimodel">
<Item Value="OrderDate"/>
</AttrNames>
</attributeValues>
...
</bindings>
「FormPageDef.xml」ファイルは、メイン・フォームのページ定義ファイル(ADFバインディング・コンテナ)です。データ・コレクション「 OrdersView1」を「データ・コントロール」パネルからドラッグし、メイン・フォームにドロップしてマスター編集フォームを作成したときに、JDeveloperでは、ページ実行可能ファイル「
view_PanelOrdersView1HelperPageDef」もメイン・フォームに追加されています。アプリケーションが実行されると、メイン・フォームのバインディング・コンテナがインスタンス化されます。メイン・フォームに追加されたパネル内のオブジェクトにアクセスするために、メイン・バインディング・コンテナによって、ページ実行可能ファイルで表されているバインディング・コンテナがインスタンス化されます。
「DataBindings.cpx」ファイルでは、アプリケーション全体のADFバインディング・コンテキストが定義され、メタデータが提供されます。実行時には、このメタデータからADFバインディング・オブジェクトが作成されます。バインディング・コンテキストは、使用可能なデータ・コントロールとデータ・バインディング・オブジェクトのリストが保持されるコンテナ・オブジェクトです。これにより、個々のページがページ定義ファイル内のバインディング定義にマップされ、これらのページで使用されるデータ・コントロールが登録されます。
データ・オブジェクトを「データ・コントロール」パネルからメイン・フォームに初めてドロップしたときに、JDeveloperでは、「DataBindings.cpx」ファイルが作成され、データ・コントロールの使用方法「 AppModuleDataControl」が追加されています。データバインドされたオブジェクトを「データ・コントロール」パネルを使用してフォームまたはパネルに挿入するたびに、そのフォームまたはパネルに対するページ定義ファイルが作成され(作成されていない場合)、ページ定義ファイルのエントリで「DataBindings.cpx」ファイルが更新されます(追加されていない場合)。ここまでの例では、2つのページ定義ファイル・エントリ「
view_FormPageDef」と「
view_PanelOrdersView1HelperPageDef」があります。これらは、メイン・フォームのページ定義ファイルとマスター編集フォーム・パネルのページ定義ファイルをそれぞれ表しています。
Copyright © 1997, 2009, Oracle. All rights reserved.