データ・バインディングは、バックエンド・ビジネス・サービスのデータにバインドされるSwingコンテナおよびコンポーネントを作成するためのJClientの機能です。 JClientでは、データ・バインディングを実行する小規模なAPIを提供しています。このAPIはOracle ADFモデル・レイヤーと連動しています。 このAPIは、JClientのブートストラップ・コードの組合せを介して、アプリケーション・ソース・コードで公開されます。
loadCpx()
をコールし、アプリケーションのメタデータ(DataBindings.cpx
ファイルで指定)をロードします。このメタデータは、インスタンスのADFデータ・コントロールおよびADFバインディング・コンテキストを使用して、ビジネス・サービスの実装インスタンス(ビジネス・コンポーネント・アプリケーション・モジュールのインスタンスなど)への接続を指定します。
setBindingContext()
をコールし、ADFバインディング・コンテキストをフレームまたはパネルで使用できるようにします。
createPanelBinding()
をコールし、Swingコンポーネント・モデルを介して、ビジネス・サービスに含まれるデータ・コレクションにアクセスするオブジェクトを作成します。
bindUIControl()
をコールし、JClientフォームまたはパネルの個々のコンポーネントに対するADFモデルを設定します。
Swingアプリケーションでデータ・バインディングを扱うには、各コンテナ(フレームまたはパネル)がパネル・バインディング・オブジェクトを作成するか、最初の作成元からパネル・バインディング・オブジェクトを取得する必要があります。 最初のパネル・バインディングを作成するフレームにはJClientのブートストラップ・コードも含まれ、ここでビジネス・サービスへの接続が作成されます。アプリケーションで作成する2番目以降のコンテナは、最初のパネル・バインディングから連鎖するか、または関連のないデータを表示するために新しいパネル・バインディングを作成します。アプリケーションのデータ・ビューを分割する方法に応じて、コンテナが新しいパネル・バインディングを設定するか、既存のパネル・バインディングを取得するかが決定されます。
データ・バインドされたコンテナを最も簡単に作成するには、JClientウィザードを使用します(「新規ギャラリ」の「Swing/JClient for ADF」フォルダを参照)。これらの2つのJClientウィザードを使用する場合、ソース・コードにはブートストラップ・コードと、パネル・バインディングの作成に必要なコンストラクタが含まれます。
これらの2つのウィザードを使用すると、JDeveloper内で簡単なドラッグ・アンド・ドロップによるUI設計が可能です。 特定のDCDataControl
オブジェクト(ビジネス・サービスのコレクション、構造化オブジェクト、属性、およびメソッドを含む)のブートストラップ・コードも生成されるため、JDeveloperのデータ・コントロール・パレットから追加するすべてのSwingコンポーネントは、DCDataControl
オブジェクトに含まれるすべてのビジネス・サービスにアクセスできます。
最初に標準のフレームまたはパネル(JClientのウィザードを使用せずに生成されるフレームまたはパネル)を作成した場合、それに対してJClientのデータ・バインディング機能を使用可能にするには、次のようにして適切なJClientブートストラップ・コードをメイン・フレームに追加し、2番目のフレームでパネル・バインディングを扱うことができます。
BusinessCompViewName(getPanelBinding());
frame.setVisible(true);
BusinessCompViewName(new JUPanelBinding(getPanelBinding().getApplicationName(),null));
frame.setVisible(true);
最初のコールがフレーム・オブジェクトを作成し、パネル・バインディングを設定します。2番目のコールがフレームを表示します。
ウィザードで生成されるコードの詳細は、「生成されるJClientコードについて」を参照してください。
Copyright © 1997, 2004, Oracle. All rights reserved.