サポート > Wagby Developer Network > 業務処理のカスタマイズ > プロセスビーンのカスタマイズ
プロセスビーン
Wagby における「プロセスビーン」は、業務処理を行うクラスとして用意されています。 通常、自動生成されたプロセスビーンクラスは、データベースアクセス処理を行うものとなっています。
プロセスビーンの特徴は次のとおりです。
- すべてのプロセスビーンは run メソッド中に処理を記述します。run メソッドは引数無しで、戻り値は Object 型です。
- プロセスビーンを実行するための権限を指定することができます。必要な権限は getPermission メソッドの戻り値として表現します。
- プロセスビーンへ渡す必要のある引数は setParameter メソッドを用いて渡します。内部の run メソッドでは、getParameter メソッドを用いて引数を走査します。
- プロセスビーンの戻り値は、成功した場合は(期待される)オブジェクトになります。失敗した場合は、エラーメッセージ文字列になります。
- プロセスビーンは通常、アクションから呼び出されます。
データベース処理を行なうプロセスビーンは、内部で 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 クラスの説明をお読みください。
