IBM FileNet P8, バージョン 5.2.1            

検索関数定義の作成

CmSearchFunctionDefinition オブジェクトは、カスタム検索関数のハンドラー実装を指定します。 以下の Java™ および C# の例では、2 つの CmSearchFunctionDefinition オブジェクトの作成方法を示します。1 つのオブジェクトは Java で実装されたハンドラーを参照し、もう 1 つのオブジェクトは JavaScript で実装されたハンドラーを参照します。

作成される 1 つ目の CmSearchFunctionDefinition オブジェクトでは、Java で実装されたハンドラーはコード・モジュール内に含まれます。CodeModule オブジェクトが取得され、CmSweepAction オブジェクトの CodeModule プロパティーに設定されます。

作成される 2 つ目の CmSearchFunctionDefinition オブジェクトでは、検索関数ハンドラーは JavaScript で実装されるため、そのスクリプトをオブジェクトの ScriptText プロパティーに設定する必要があります。

変更の始まり
制約事項: 保管済み検索ではカスタム検索関数を使用できません。カスタム検索関数は、アドホック検索かバックグラウンド検索の SELECT リスト内でのみ使用できます。
変更の終わり

Java の例

// Create search function definition for Java handler.
CmSearchFunctionDefinition sfd = Factory.CmSearchFunctionDefinition.createInstance(os, "CmSearchFunctionDefinition");

// Java コンポーネントを持つ CodeModule オブジェクトの取得
CodeModule cm = Factory.CodeModule.getInstance(os, "CodeModule",
                new Id("{30261747-0000-C817-91CA-46A3B56BF558}") ); 

// CodeModule プロパティーの設定
sfd.set_CodeModule(cm);

// ハンドラー・クラスの完全修飾名を指定して ProgId プロパティーを設定する
sfd.set_ProgId("sample.actionhandler.DateConversionFunctionHandler");

// その他のプロパティーを設定および保存
sfd.set_DisplayName("sfd_Java");
sfd.set_DescriptiveText("Specifies Java search function handler");
sfd.save(RefreshMode.REFRESH);

// Create search function definition for JavaScript handler.
CmSearchFunctionDefinition sfdJs = Factory.CmSearchFunctionDefinition.createInstance(os, "CmSearchFunctionDefinition");

// ProgId プロパティーをスクリプト・タイプ ID に設定
sfdJs.set_ProgId("Javascript");

// Call method to read script from a file, and set the script text on the definition object.
String inputScript = readScriptText();
sfdJs.set_ScriptText(inputScript);

// その他のプロパティーを設定および保存
sfdJs.set_DisplayName("sfd_JavaScript");
sfdJs.set_DescriptiveText("Specifies JavaScript search function handler");
sfdJs.save(RefreshMode.REFRESH);

C# の例

// Create search function definition for Java handler.
ICmSearchFunctionDefinition sfd = Factory.CmSearchFunctionDefinition.CreateInstance(os, "CmSearchFunctionDefinition");

// ハンドラー・クラスの完全修飾名を指定して ProgId プロパティーを設定する
sfd.ProgId = "sample.actionhandler.DateConversionFunctionHandler";

// Java コンポーネントを持つ CodeModule オブジェクトの取得
ICodeModule cm = Factory.CodeModule.FetchInstance(os, 
                 new Id("{30261747-0000-C817-91CA-46A3B56BF558}"), null); 

// CodeModule プロパティーの設定
sfd.CodeModule = cm; 

// その他のプロパティーを設定および保存
sfd.DisplayName = "sfd_Java";
sfd.DescriptiveText = "Specifies Java search function handler.";
sfd.Save(RefreshMode.REFRESH);

// Create search function definition for JavaScript handler.
ICmSearchFunctionDefinition sfdJs = Factory.CmSearchFunctionDefinition.CreateInstance(os, "CmSearchFunctionDefinition");

// ProgId プロパティーをスクリプト・タイプ ID に設定
sfdJs.ProgId = "Javascript";

// Call method to read script from a file, and set the script text on the definition object.
String inputScript = readScriptText();
sfdJs.ScriptText = inputScript;

// その他のプロパティーを設定および保存
sfdJs.DisplayName = "sfd_JavaScript";
sfdJs.DescriptiveText = "Specifies JavaScript search function handler.";
sfdJs.Save(RefreshMode.REFRESH);


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

© Copyright IBM Corp. 2015.