サポート > Wagby Developer Network > 業務処理のカスタマイズ > プロセスビーンのカスタマイズ

プロセスビーン

Wagby における「プロセスビーン」は、業務処理を行うクラスとして用意されています。 通常、自動生成されたプロセスビーンクラスは、データベースアクセス処理を行うものとなっています。

プロセスビーンの特徴は次のとおりです。

  1. すべてのプロセスビーンは run メソッド中に処理を記述します。run メソッドは引数無しで、戻り値は Object 型です。
  2. プロセスビーンを実行するための権限を指定することができます。必要な権限は getPermission メソッドの戻り値として表現します。
  3. プロセスビーンへ渡す必要のある引数は setParameter メソッドを用いて渡します。内部の run メソッドでは、getParameter メソッドを用いて引数を走査します。
  4. プロセスビーンの戻り値は、成功した場合は(期待される)オブジェクトになります。失敗した場合は、エラーメッセージ文字列になります。
  5. プロセスビーンは通常、アクションから呼び出されます。
データベース処理を行なうプロセスビーンは、内部で Hibernate を操作しています。 トランザクション境界はプロセスビーン内で完結しています。(ただしこの点は、将来の Wagby では DI コンテナを利用するように変更される予定です。)

カスタマイズ対象クラス

「プロセスビーン」は、MVC アーキテクチャにおける「M」すなわちモデル部における業務処理を司ります。

ここで、パッケージ名を $(packagename) と表記します。 プロセスビーンに関するソースコードは $(DEVHOME)¥env¥work¥srcgen 以下の $(packagename)¥app に保存されています。 基本は、モデル毎に次のようなファイルが用意されます。

  • ShowXXXProcessBean.java (詳細表示)
  • ShowListXXXProcessBean.java (一覧表示)
  • InsertXXXProcessBean.java (新規登録)
  • UpdateXXXProcessBean.java (更新)
  • DeleteXXXProcessBean.java (削除)

カスタマイズ方法

開発者はこれらのクラスを継承したソースコードを用意します。ただし命名規則は「My + オリジナルクラス」です。 具体例を示します。

public class MyShowXXXProcessBean extends ShowXXXProcessBean
{
    /** Logger クラスを準備します。 */
    private final static Logger logger =
        Logger.getLogger(MyShowXXXProcessBean.class.getName());

    /**
     * コンストラクタ
     *
     */
    public MyShowXXXlProcessBean() {
        super();
    }

    /**
     * コンストラクタ
     *
     * @param p DbActionParameter
     */
    public MyShowXXXProcessBean(DbActionParameter p) {
        super(p);
    }

    /**
     * プロセスビーンを実行します。
     *
     * @return オブジェクトまたはエラーメッセージ
     */
    @Override
    public Object run() {
        // ここに処理を記述します。
    }
}

プロセスビーンにはフックポイントはありません。親クラスのメソッドを丸ごと、オーバーライドしてください。

プロセスビーンクラスのインスタンスは、内部で DbActionParameter 型のオブジェクト p を持つようになっています。 このオブジェクトの詳細については、DbActionParameter クラスの説明をお読みください。

ビルド

変更したファイルのビルド方法については、「カスタマイズファイルの適用方法」をお読みください。