IBM FileNet P8, バージョン 5.2.1            

ObjectStore オブジェクト

システム管理者は、通常、IBM® Administration Console for Content Platform Engine を使用して、オブジェクト・ストアを作成し、それらをアドオンで拡張します。しかし、それと同じ操作を実行するためのカスタム・アプリケーションを開発することもできます。

Content Engine API では、オブジェクト・ストアは ObjectStore クラスによって表されます。Factory 内部クラスの静的メソッドを使用して、ObjectStore のインスタンスを作成できます。ObjectStore オブジェクトの新規インスタンスを作成するには、createInstance を使用します。カスタム・スキーマ・スクリプトを指定するための createInstance の多重定義バージョンがあります。これを使用すると、ObjectStore オブジェクトのデフォルトのデータベース保管場所を使用する場合に比べ、より詳細にオブジェクト・ストアのテーブル、索引、および LOB の各列の保管場所を制御できます。

createInstance を使用して ObjectStore オブジェクトの新規インスタンスを作成するときに、ObjectStore オブジェクトは、最後のコミット (保存) ステップでサーバーへのラウンド・トリップが行われるまでは Global Configuration Database (GCD) には存在しません。 保存ステップは、save メソッドへの明示的な呼び出しとして実行するか、バッチ操作で開始することができます。

ObjectStore オブジェクトの既存のインスタンスを取得するには、getInstance または fetchInstance を使用します。これらの 2 つのメソッドの違いは以下のとおりです。getInstance では、要求されたオブジェクトがサーバーに存在するかどうかは検証されず、オブジェクトのローカル参照が返されます。これは、サーバーへのラウンド・トリップを引き起こす関数 (プロパティー値のフェッチなど) をオブジェクトに対して実行するまでは、サーバー・オブジェクトには関連付けられません。この手法は「フェッチなしインスタンス化」と呼ばれ、必要なオブジェクトが受動的に機能するに過ぎない場合 (オブジェクト値を取るプロパティーのターゲット値として使用される場合など) に便利です。 一方、fetchInstance メソッドは、サーバーへのラウンド・トリップを即時に行い、ObjectStore オブジェクトのプロパティー値を取得します。

Factory メソッドを使用して ObjectStore オブジェクトをインスタンス化する方法に加えて、ObjectStore オブジェクトへの参照を他のオブジェクトから取得することもできます。Domain から ObjectStoreSet コレクションを取得し、コレクションを反復処理することができます。RepositoryObject サブクラスのインスタンスから ObjectStore オブジェクトを取得できます。

ほとんどの場合、Factory のメソッド (createInstancefetchInstance など) を使用してオブジェクト・ストア内に既に存在する既知のオブジェクト・タイプのインスタンスを作成または取得するときには、メソッドのパラメーターとしてオブジェクト・ストアを指定する必要があります。 返されたオブジェクトに対して save メソッドを呼び出すと、指定されたオブジェクト・ストアにこのオブジェクトが保存されます。オブジェクト・タイプが事前に判明していない場合は、オブジェクトを作成または取得するには InstantiatingScope インターフェースでメソッドを使用します。



最終更新日: 2015 年 10 月
objectstore_object_concepts.htm

© Copyright IBM Corp. 2015.