アプリケーション・ブートストラップ
ナビゲータで、フレームまたはアプレット・クラスを選択して「実行」でJClientアプリケーションを実行する際に、JClientのブートストラップ・コードで最初に行われる処理の1つが、JUApplicationオブジェクトの作成です。これは次のコードによって行われます。
JUApplication app = JUMetaObjectManager.createApplicationObject("MyJClientProject.ClientDataModel1", null, new JUEnvInfoProvider());
createApplicationObject()
の最初のパラメータMyJClientProject.ClientDataModel1
は、JUApplicationインスタンスの作成元となるBC4Jクライアント・データ・モデル定義を指定します。JUMetaObjectManagerオブジェクトはこの名前を受け取り、前半部分(MyJClientProject
)を使用してクライアント・プロジェクト・ファイル名(MyJClientProject.cpx
)を作成します。この .cpx
ファイルが読み込まれて解析されます。セッション情報が抽出され、JUMetaObjectManagerにキャッシュされます。
次に、Session
定義、特にPackage
およびConfiguration
の値が抽出されます。情報はアプリケーション・モジュール・プール・マネージャに渡され、アプリケーション・モジュールのインスタンスが作成されます(アプリケーション・モジュール・プールの詳細は、Business Components for Javaのドキュメントを参照してください)。
JClientアプリケーションで使用されるJUApplicationインスタンスは、このアプリケーション・モジュール・インスタンスから作成され、アプリケーション・モジュールに含まれるビュー・オブジェクトにアクセスするためには、JUPanelBindingインスタンスが作成されます。
パネルが特定のビュー・オブジェクトにアクセスし、データ・バインドされるためにはパネル・バインドが必要なため、パネル・バインドの作成はJClientの重要な機能です。パネル・バインドは、すべてのイテレータ・バインドのためのコンテナとして機能します。最終的には、イテレータ・バインド・オブジェクトが、SwingコンポーネントとBC4Jデータソースの行セット・イテレータとの間の対話を受渡しします。
パネル・バインドは、次のコードを介してアプリケーション・オブジェクトに登録されます。これにより同じデータ・バインドを使用するデータの参照とパネルの編集が可能になります。
panelBinding.setApplication(app);
フレームの初期化
JUApplicationがインスタンス化されると、フレームの初期化が行われます。フレームのインスタンスは、JUApplicationを引数とするコンストラクタを起動することで作成されます。このコンストラクタはフレームのステータス・バーを作成し、JUApplication参照をフィールド(app
)に保存します。次に、jbInit()
をコールし、データ・パネルの初期化を行います。
アプレットの初期化
アプレットのインスタンスが作成されると、アプレットの初期化が行われます。JUApplicationが作成され、フィールド(app
)に参照が保存されます。次にjbInit()
がコールされ、データ・パネルおよびステータス・バーの初期化が行われます。