jp.terasoluna.fw.service.thin
インタフェース BLogic<P>

型パラメータ:
P - ビジネスロジックへの入力値となるJavaBeanを指定する

public interface BLogic<P>

ビジネスロジック処理クラスが実装すべきインタフェース。

ビジネスロジックは、このインタフェースを実装することにより作成する。 ビジネスロジックのエントリポイントとなるexecute()メソッドには、 JavaBeanが渡される。
下記は、典型的なビジネスロジックの実装例(ログイン処理)である。

実装例
 ・・・
 public BLogicResult execute(LogonBean params) {

     BLogicResult result = new BLogicResult();

     // ユーザID
     String userId = params.getUserId();
     // パスワード
     String password = params.getPassword();
     // ログイン失敗回数
     String failures = params.getFailures();

     int failCount = Integer.parseInt(failures);

     // ログイン失敗回数が規定回数以上の時、無条件で失敗
     if (failCount > MAX_COUNT ) {
         result.setResultString("loginError");
         return result;
     }

     // ユーザがDBに存在するか
     if (isAuthenticated(userId, password)) {
         // 出力値とするJavaBeanを生成
         LogonResultBean bean = new LogonResultBean();
         // 存在する場合、UVOを生成し、結果オブジェクトに格納
         sampleUVO uvo = UserValueObject.createUserValueObject();
         bean.setUvo(uvo);
         result.setResultObject(bean);
         // 認証成功として遷移
         result.setResultString("success");
     } else {
         BLogicMessages errors = new BLogicMessages();
         BLogicMessage error = new BLogicMessage("message.error.login");
         
         errors.add(ActionMessages.GLOBAL_MESSAGE, error);
         result.setErrors(errors);
         ・・・
         // 認証失敗として遷移
         result.setResultString("failure");
     }
     return result;
 }
 

下記は、ビジネスロジック内部からDAOを実行する例である。 DAOは予め設定されているものとする。DAOの設定については、 各DAO実装クラスを参照のこと。

ビジネスロジックからのDAO実行例
 private boolean isAuthenticated(String id, String pass) {

     // DAOに渡すパラメータの作成
     Map<String, String> parameters = new HashMap<String, String>();
     parameters.put("ID", id);
     parameters.put("PASSWORD", pass);

     // DAOの実行
     Map<String, Object>[] result = dao.executeForMapList(
                                             USER_AUTHENTICATION, parameters);
     if (result != null) {
        // ユーザが存在
        return true;
     }
     // ユーザが存在しない
     return false;
 }
 

DBのコミット、ロールバックは宣言的トランザクションを用いて行うため、 実装者は直接DBコネクションに対して、コミット・ロールバックは行わない。
関連する機能については、下記を参照のこと。

関連項目:
BLogicIOPlugIn, AbstractBLogicMapper, BLogicMapper, BLogicIO, BLogicProperty, BLogicResources, BLogicResult, AbstractBLogicAction, BLogicAction

メソッドの概要
 BLogicResult execute(P params)
          ビジネスロジックを実行する。
 

メソッドの詳細

execute

BLogicResult execute(P params)
ビジネスロジックを実行する。

パラメータ:
params - ビジネスロジック入力情報
戻り値:
ビジネスロジック処理結果


Copyright © 2012. All Rights Reserved.