IBM FileNet P8, バージョン 5.2.1            

カスタム・スイープ・アクションの作成

CmSweepAction オブジェクトは、スイープによって取得されたクラス・インスタンスを処理するアクション・ハンドラー実装を指定します。 2 つの CmSweepAction オブジェクト (1 つは Java™ で実装されたハンドラーを参照し、もう 1 つは JavaScript で実装されたハンドラーを参照する) の作成方法を示す Java と C# の例を次に示します。

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

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

Java の例

// Create sweep action for Java handler.
CmSweepAction saJava = Factory.CmSweepAction.createInstance(os, "CmSweepAction");

// Java コンポーネントを持つ CodeModule オブジェクトの取得
CodeModule cm = Factory.CodeModule.getInstance(os, "CodeModule",
                new Id("{BC1323BB-D66E-4492-ACD3-CD7135B8ABED}") ); 

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

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

// その他のプロパティーを設定および保存
saJava.set_DisplayName("Change class with Java handler");
saJava.save(RefreshMode.REFRESH);

// Create sweep action for JavaScript handler.
CmSweepAction saJavascript = Factory.CmSweepAction.createInstance(os, "CmSweepAction");

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

// ファイルからスクリプトを読み取るメソッドを呼び出し、スクリプト・テキストをアクション・オブジェクトに設定
String inputScript = readScriptText();
saJavascript.set_ScriptText(inputScript);

// その他のプロパティーを設定および保存
saJavascript.set_DisplayName("Change class with JavaScript handler");
saJavascript.save(RefreshMode.NO_REFRESH);

C# の例

// Create a sweep action for Java handler.
ICmSweepAction saJava = Factory.CmSweepAction.CreateInstance(os, "CmSweepAction");

// Java コンポーネントを持つ CodeModule オブジェクトの取得
ICodeModule cm = Factory.CodeModule.GetInstance(os, "CodeModule",
                 new Id("{BC1323BB-D66E-4492-ACD3-CD7135B8ABED}") ); 

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

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

// その他のプロパティーを設定および保存
saJava.DisplayName = "Change class with Java handler";
saJava.Save(RefreshMode.REFRESH);

// Create sweep action for JavaScript handler.
ICmSweepAction saJavascript = Factory.CmSweepAction.CreateInstance(os, "CmSweepAction");

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

// ファイルからスクリプトを読み取るメソッドを呼び出し、スクリプト・テキストをアクション・オブジェクトに設定
String inputScript = readScriptText();
saJavascript.ScriptText = inputScript;

// その他のプロパティーを設定および保存
saJavascript.DisplayName = "Change class with JavaScript handler";
saJavascript.Save(RefreshMode.NO_REFRESH);


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

© Copyright IBM Corp. 2015.