基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > ウィザードの作成 > ウィザード処理 > ソリューション > 手順 - ウィザード処理コードの作成 > 1 つのターゲットオブジェクトが含まれたウィザード > ウィザードに必要な ObjectFormProcessorDelegate クラスの作成
  
ウィザードに必要な ObjectFormProcessorDelegate クラスの作成
ObjectFormProcessorDelegates は、ウィザード処理において 1 つまたは複数のサブタスクを実行するために使用されることがあります。複数の ObjectFormProcessors が同じ委任クラスを呼び出す可能性もあるので、複数のウィザードで必要となるタスクについては、通常、ObjectFormProcessorDelegate クラスが使用されます。以下に、本製品に添付されている ObjectFormProcessorDelegates の使用例について説明します。
いくつかのオブジェクト作成ウィザードには、「チェックイン後にチェックアウト状態を保持」というチェックボックスがあります。オブジェクト作成後、チェックボックスがオンにされると、これらすべてのウィザードの ObjectFormProcessors は同じ ObjectFormProcessorDelegate クラスを呼び出してこのチェックボックスを処理し、オブジェクトをチェックアウトします。
通常、ContentHolders オブジェクトを作成するウィザードは、オブジェクトに付加するドキュメントを指定する「添付資料を設定」ステップを持ちます。これらのウィザードはいずれも同じ ObjectFormProcessorDelegate クラスを呼び出して、添付資料の永続性を処理します。
多くのオブジェクト作成ウィザードには、オブジェクトのフォルダを指定するための Location 属性の入力フィールドがあります。この入力フィールドの処理は複雑なので、これらのウィザードはいずれも同じ ObjectFormProcessorDelegate を呼び出して、作成されるオブジェクトについてフォルダを設定します。
上記の例に示したように、ObjectFormProcessorDelegate は、1 つまたは複数の入力フィールドを処理できます。複数のウィザードで使用されている HTML エレメントを、作成するウィザードに含めない場合、委任は必要ありません。ただし、委任は、処理コードのモジュール化にも役立てることができます。
ObjectFormProcessorDelegates では、DefaultObjectFormProcessorDelegate クラスを拡張してください。ObjectFormProcessorDelegatesDefaultFormProcessorController によってインスタンス化されて ObjectFormProcessor に渡されます。
ObjectFormProcessorDelegates には ObjectFormProcessors と同様に preProcess()doOperation()postProcess()postTransactionProcess() メソッドがあります。ウィザードについて登録された委任は、さまざまな処理段階で DefaultObjectFormProcessor によって呼び出されます。
ObjectFormProcessor メソッドの結果が FormProcessorController に渡されるのと同様に、ObjectFormProcessorDelegate メソッドの結果は、FormResult を使用して ObjectFormProcessor に渡されます。
ObjectFormProcessor メソッドと同様に、ObjectFormProcessorDelegate メソッドで例外をスローすることができます。これらの処理方法は、例外を呼び出す ObjectFormProcessor によって異なります。