IBM FileNet P8, バージョン 5.2.1            

ファクトリー・メソッドを使用したインスタンスの取得

以下の Java™ および C# の例に示すように、ファクトリー・メソッド getInstance または fetchInstance を使用して、ObjectStore の既存のインスタンスを取得できます。

getInstance メソッド

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

Java の例

// オブジェクト・ストアのインスタンスの取得
static void getObjectStoreInstance(
        Domain domain,
        String objStoreName)   // 例: "ObjectStore1"
 {
    // オブジェクト・ストアの取得 (フェッチなしインスタンス化)
    ObjectStore ojbStore = Factory.ObjectStore.getInstance(domain, objStoreName);

    // オブジェクト・ストア名の表示
    objStore.refresh();
    System.out.println("Object store name: " + objStore.get_Name());                    
 }

C# の例

// オブジェクト・ストアのインスタンスの取得
static void GetObjectStoreInstance(
        IDomain domain,
        String objStoreName)   // 例: "ObjectStore1"
{            
    // オブジェクト・ストアの取得 (フェッチなしインスタンス化)
    IObjectStore objStore = Factory.ObjectStore.GetInstance(domain, objStoreName);

    // オブジェクト・ストア名の表示
    objStore.Refresh();
    Debug.WriteLine("Object store name: " + objStore.Name); 
}

fetchInstance メソッド

fetchInstance メソッドは、サーバーへのラウンド・トリップを行い、ObjectStore オブジェクトのプロパティー値を取得します。プロパティー・フィルターを使用して、返されるプロパティーの数を制限できます。

Java の例

// オブジェクト・ストアのインスタンスの取得
static void fetchObjectStoreInstance(
        Domain domain,
        String objStoreName)   // 例: "ObjectStore1"
{
    // 返されるプロパティーを制限するプロパティー・フィルターの定義
    PropertyFilter filter = new PropertyFilter(); 
    filter.addIncludeProperty(0, null, null,
                              PropertyNames.ROOT_CLASS_DEFINITIONS, null); 
    filter.addIncludeProperty(0, null, null, 
                              PropertyNames.DISPLAY_NAME, null); 
          
    // プロパティー・フィルターを使用してオブジェクト・ストアをフェッチ
    ObjectStore objStore = Factory.ObjectStore.fetchInstance(
                                  domain, objStoreName, filter);

    // オブジェクト・ストアの表示名を表示
    System.out.println("Object store name: " + objStore.get_DisplayName());                   
}

C# の例

// オブジェクト・ストアのインスタンスの取得
static void FetchObjectStoreInstance(
            IDomain domain,
            String objStoreName)   // 例: "ObjectStore1"
{
    // 返されるプロパティーを制限するプロパティー・フィルターの定義
    PropertyFilter filter = new PropertyFilter(); 
    filter.AddIncludeProperty(0, null, null,
                              PropertyNames.ROOT_CLASS_DEFINITIONS, null); 
    filter.AddIncludeProperty(0, null, null, 
                              PropertyNames.DISPLAY_NAME, null); 
  
    // プロパティー・フィルターを使用してオブジェクト・ストアをフェッチ
    IObjectStore objStore = Factory.ObjectStore.FetchInstance(
                                   domain, objStoreName, filter); 

    // オブジェクト・ストアの表示名を表示
    Debug.WriteLine("Object store name: " + objStore.DisplayName);     
}


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

© Copyright IBM Corp. 2015.