Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第2部 Apcoordinatorコアの機能> 第4章 APIを使ったプログラミング

4.1 共通処理

ひとつのビジネスクラス、または全てのビジネスクラスに共通な処理は、まとめて作成することができます。

■プリプロセス

Preprocessorを実装すると、ビジネスクラスの実行前にpreprocessメソッドが呼び出されます。 Preprocessorはビジネスクラス、セションクラス、アプリケーションクラスで実装可能です。 ビジネスクラスで実装した場合はそのクラスのメソッドが実行される前に、セションクラスまたはアプリケーションクラスで実装した場合は全てのビジネスクラスのメソッドが実行される前に、preprocessメソッドが呼ばれます。 ビジネスクラスで使用するGenericHandlerはPreprocessorを実装しています。preprocessメソッドをオーバライドして処理を追加できます。

public class SampleHandler extends com.fujitsu.uji.GenericHandler
{
    public int preprocess(DispatchContext context) {
        return Preprocessor.EVAL;
    }
}

例えば、ログインされていない場合にのみログイン画面を表示するような場合に、セションのpreprocessメソッドが利用可能です。

■ポストプロセス

Postprocessorを実装すると、ビジネスクラスの実行後にpostprocessメソッドが呼び出されます。 PostprocessorはPreprocessorと同様に、ビジネスクラス、セションクラス、アプリケーションクラスで実装可能です。 ビジネスクラスで実装した場合はそのクラスのメソッドが実行された後に、セションクラスまたはアプリケーションクラスで実装した場合は全てのビジネスクラスのメソッドが実行された後に、postprocessメソッドが呼ばれます。 共通な画面の設定などの場合にはpostprocessメソッドが利用可能です。インタフェースではObjectを返却する必要がありますが、後述のファイルダウンロードアプリケーション以外ではnullを返却します。

public class SampleHandler extends com.fujitsu.uji.GenericHandler
{
    ....
    public Object postprocess(DispatchContext context, Object result) {
        ....
        context.setResponseBean("head", headBean);
        return result;
    }
}

Postprocessorを利用する場合は、GenericHandlerから派生したクラスでなければ、handleExceptionメソッドも実装する必要があります。handleExceptionメソッドの詳細はエラー処理で説明します。
目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005