jp.terasoluna.fw.web.struts.actions
クラス AbstractBLogicAction<P>

java.lang.Object
  上位を拡張 Action
      上位を拡張 jp.terasoluna.fw.web.struts.actions.ActionEx
          上位を拡張 jp.terasoluna.fw.web.struts.actions.AbstractBLogicAction<P>
型パラメータ:
P - ビジネスロジックへの入力値となるJavaBeanを指定する
直系の既知のサブクラス:
BLogicAction

public abstract class AbstractBLogicAction<P>
extends ActionEx

ビジネスロジック起動抽象クラス。

ビジネスロジックの起動を行うアクションクラスに共通する機能を 集約した抽象クラスである。全てのビジネスロジック起動アクションクラスは このクラスを継承して実装する。 BLogicActionもこのクラスを継承している。 提供する機能一覧は下記のとおりである。

  1. struts-config.xmlのアクション設定から ビジネスロジッククラス名を取得する。
  2. ビジネスロジックの入力情報となる JavaBean を生成する。
  3. 継承先クラスのエントリポイントとなるdoExecuteBLogic()を実行する。
  4. ビジネスロジックが正常終了した場合、BLogicResultの結果を処理する。

ビジネスロジック起動アクションクラスは、 Bean定義ファイルにて起動するビジネスロジックを設定した上で、 実行する。 下記の例は、ビジネスロジックであるSampleBLogicをSampleActionから 起動するための設定である。 あわせてstruts-config.xmlの設定例も以下に示す。

Bean定義ファイルの設定

 <bean name="/SampleAction" singleton="false"
   class="jp.terasoluna.sample1.actions.SampleAction">
   <property name="sampleBLogic">
     <ref bean="SampleBLogic"></ref>
   </property>
 </bean>
 <bean id="SampleBLogic"
   class="jp.terasoluna.sample1.blogic.SampleBLogic">
 </bean>
 

struts-config.xmlの設定

    <action path="/SampleAction"
       name="_sampleForm"
       validate="true"
       scope="session"
       input="/sample.jsp">
    <forward name="success" path="/sampleSCR.do"/>
    <forward name="failure" path="/errorSCR.do"/>
  </action>
 

BLogicResultの利用、設定については、 BLogicIOPlugIn、BLogicResult、AbstractBLogicMapperを参照のこと。

また、ビジネスロジックの実行に失敗した場合などで、 メッセージを設定したい際は、次のようにBLogicResultにメッセージを格納する。

 public BLogicResult doExecuteBLogic(ParamsBean params) {

     // BLogicResultを生成する。
     BLogicResult result = new BLogicResult();
     ・・・
     //ビジネスロジック
     ・・・
     //エラー判定
     if (// エラー判定処理 ) {
         // Web層にに反映すべき情報を設定する。
         ・・・
         return result;
     } else {
         // ビジネスロジック内のエラーが発生
         // BLogicMessagesを生成
         BLogicMessages messages = new BLogicMessages();
         // GROUP_ERRORグループのメッセージとして、BLogicMessageを格納
         messages.add("GROUP_ERROR", new BLogicMessage("message.error.sample", "sample"));
         // エラー用BLogicMessagesをBLogicResultに設定
         result.setErrors(messages);
         // 実行結果に"failure"を指定
         result.setResultString("failure");
         return result;
     }
 }
 

関連項目:
BLogicAction, BLogicIOPlugIn, BLogicResult, AbstractBLogicMapper, BLogicMapper, BLogicMessage, BLogicMessages

フィールドの概要
protected static java.lang.String BLOGIC_FORM_ILLEGAL_ERROR
          拡張アクションフォーム設定エラー時のエラーコード。
protected static java.lang.String BLOGIC_MAPPING_ILLEGAL_ERROR
          拡張アクションマッピング設定エラー時のエラーコード。
protected static java.lang.String BLOGIC_RESOURCES_ILLEGAL_ERROR
          拡張アクションリソース設定エラー時のエラーコード。
protected static java.lang.String BLOGIC_RESULT_NULL_ERROR
          BLogicResultがnullで返却された時のエラーコード。
private static Log log
          ログクラス。
protected static java.lang.String NULL_MAPPER_KEY
          AbstractBLogicMapperがnullだった場合のエラーコード。
private  java.lang.String saveMessageScope
          メッセージ保存先スコープ。
 
クラス jp.terasoluna.fw.web.struts.actions.ActionEx から継承されたフィールド
FORWARD_TXTOKEN_ERROR
 
コンストラクタの概要
AbstractBLogicAction()
           
 
メソッドの概要
protected  ActionMessages convertMessages(BLogicMessages blogicMessages)
          BLogicMessagesの内容をActionMessagesに格納しなおす。
 ActionForward doExecute(ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          ビジネスロジックを実行する。
abstract  BLogicResult doExecuteBLogic(P param)
          ビジネスロジック実行抽象メソッド。
protected  void evaluateBLogicResult(BLogicResult result, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMappingEx mappingEx)
          BLogicResultの評価、Web層のオブジェクトへの結果反映を行う。
protected  BLogicIO getBLogicIO(ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
          BLogicIOを取得する。
protected  AbstractBLogicMapper getBLogicMapper(javax.servlet.http.HttpServletRequest req)
          BLogicMapperインスタンスを取得する。
protected  P getBLogicParams(ActionMappingEx mapping, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          paramsを生成し、返却する。
protected  boolean isErrorsEmpty(BLogicResult result)
          BLogicResultに格納されているエラー情報が nullであるか空であるとき、trueを返却する。
protected  void postDoExecuteBLogic(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, P params, BLogicResult result)
          ビジネスロジックの実行後処理。
protected  void preDoExecuteBLogic(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, P params)
          ビジネスロジックの実行前処理。
 void setSaveMessageScope(java.lang.String saveMessageScope)
          メッセージ保存先スコープを設定する。
 
クラス jp.terasoluna.fw.web.struts.actions.ActionEx から継承されたメソッド
addErrors, addMessages, execute, isSaveToken, isTokenCheck, processTokenCheck, setSaveToken, setTokenCheck
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static Log log
ログクラス。


BLOGIC_FORM_ILLEGAL_ERROR

protected static final java.lang.String BLOGIC_FORM_ILLEGAL_ERROR
拡張アクションフォーム設定エラー時のエラーコード。

関連項目:
定数フィールド値

BLOGIC_MAPPING_ILLEGAL_ERROR

protected static final java.lang.String BLOGIC_MAPPING_ILLEGAL_ERROR
拡張アクションマッピング設定エラー時のエラーコード。

関連項目:
定数フィールド値

BLOGIC_RESOURCES_ILLEGAL_ERROR

protected static final java.lang.String BLOGIC_RESOURCES_ILLEGAL_ERROR
拡張アクションリソース設定エラー時のエラーコード。

関連項目:
定数フィールド値

BLOGIC_RESULT_NULL_ERROR

protected static final java.lang.String BLOGIC_RESULT_NULL_ERROR
BLogicResultがnullで返却された時のエラーコード。

関連項目:
定数フィールド値

NULL_MAPPER_KEY

protected static final java.lang.String NULL_MAPPER_KEY
AbstractBLogicMapperがnullだった場合のエラーコード。

関連項目:
定数フィールド値

saveMessageScope

private java.lang.String saveMessageScope
メッセージ保存先スコープ。 ビジネスロジック内で生成したBLogicMessagesの保存先を requestまたはsessionのいずれかで指定する。

コンストラクタの詳細

AbstractBLogicAction

public AbstractBLogicAction()
メソッドの詳細

setSaveMessageScope

public void setSaveMessageScope(java.lang.String saveMessageScope)
メッセージ保存先スコープを設定する。

パラメータ:
saveMessageScope - メッセージ保存先スコープ

doExecute

public ActionForward doExecute(ActionMapping mapping,
                               ActionForm form,
                               javax.servlet.http.HttpServletRequest request,
                               javax.servlet.http.HttpServletResponse response)
                        throws java.lang.Exception
ビジネスロジックを実行する。

ビジネスロジックの実行に必要な下記の共通処理を行う。

定義:
クラス ActionEx 内の doExecute
パラメータ:
mapping - アクションマッピング
form - フォーム
request - リクエスト
response - レスポンス
戻り値:
遷移先アクションフォワード
例外:
java.lang.Exception - サブクラスからスローされた、予期しない例外

preDoExecuteBLogic

protected void preDoExecuteBLogic(javax.servlet.http.HttpServletRequest request,
                                  javax.servlet.http.HttpServletResponse response,
                                  P params)
                           throws java.lang.Exception
ビジネスロジックの実行前処理。

パラメータ:
request - リクエスト
response - レスポンス
params - パラメータ(JavaBean)
例外:
java.lang.Exception - 予期しない例外

postDoExecuteBLogic

protected void postDoExecuteBLogic(javax.servlet.http.HttpServletRequest request,
                                   javax.servlet.http.HttpServletResponse response,
                                   P params,
                                   BLogicResult result)
                            throws java.lang.Exception
ビジネスロジックの実行後処理。

ビジネスロジックで例外が発生しなかった場合のみ、実行される。

パラメータ:
request - リクエスト
response - レスポンス
params - パラメータ(JavaBean)
result - ビジネスロジック実行結果
例外:
java.lang.Exception - 予期しない例外

evaluateBLogicResult

protected void evaluateBLogicResult(BLogicResult result,
                                    javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    ActionMappingEx mappingEx)
BLogicResultの評価、Web層のオブジェクトへの結果反映を行う。

パラメータ:
result - BLogicResultインスタンス
request - HTTPリクエスト
response - HTTPレスポンス
mappingEx - 拡張アクションマッピング

convertMessages

protected ActionMessages convertMessages(BLogicMessages blogicMessages)
BLogicMessagesの内容をActionMessagesに格納しなおす。

パラメータ:
blogicMessages - BLogicMessagesインスタンス
戻り値:
ActionMessages

doExecuteBLogic

public abstract BLogicResult doExecuteBLogic(P param)
                                      throws java.lang.Exception
ビジネスロジック実行抽象メソッド。 サブクラスで実装する。

パラメータ:
param - ビジネスロジック入力情報
戻り値:
ビジネスロジック出力情報
例外:
java.lang.Exception - 予期しない例外

isErrorsEmpty

protected boolean isErrorsEmpty(BLogicResult result)
BLogicResultに格納されているエラー情報が nullであるか空であるとき、trueを返却する。

パラメータ:
result - ビジネスロジック実行結果
戻り値:
エラー用BLogicMessagesがnullまたは、空であるときtrue

getBLogicMapper

protected AbstractBLogicMapper getBLogicMapper(javax.servlet.http.HttpServletRequest req)
BLogicMapperインスタンスを取得する。

パラメータ:
req - HTTPリクエスト
戻り値:
BLogicMapperインスタンス

getBLogicParams

protected P getBLogicParams(ActionMappingEx mapping,
                            javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response)
                     throws java.lang.Exception
paramsを生成し、返却する。

パラメータ:
mapping - アクションマッピング
request - HTTPリクエスト
response - HTTPレスポンス
戻り値:
ビジネスロジック入力情報
例外:
java.lang.Exception - 予期しない例外

getBLogicIO

protected BLogicIO getBLogicIO(ActionMapping mapping,
                               javax.servlet.http.HttpServletRequest request)
BLogicIOを取得する。

パラメータ:
mapping - アクションマッピング
request - HTTPリクエスト
戻り値:
ビジネスロジック入出力情報