クラス AbstractAction

java.lang.ObjectSE
org.springframework.webflow.action.AbstractAction
実装されたすべてのインターフェース:
org.springframework.beans.factory.InitializingBeanAction
既知の直属サブクラス
CompositeActionEvaluateActionExternalRedirectActionFlowDefinitionRedirectActionMultiActionRenderActionSetActionViewFactoryActionAdapter

public abstract class AbstractAction extends ObjectSE implements Action, org.springframework.beans.factory.InitializingBean
アクション実装で一般的に必要とされる支援を提供する基本アクション。これには以下が含まれます。
  • Spring Bean ファクトリ内にデプロイされたときに init コールバックを受信するために InitializingBean を実装します。
  • 「成功」や「エラー」などの共通の結果 Event オブジェクトを作成するための便利なイベントファクトリメソッドを公開します。
  • アクションの実行前および実行後のロジックを挿入するためのフック。
作成者:
Keith Donald, Erwin Vervaet
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected final org.apache.commons.logging.Log
    サブクラスで使用可能なロガー。
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    protected abstract Event
    テンプレートフックメソッドのサブクラスは、特定のアクション実行ロジックをカプセル化するためにオーバーライドする必要があります。
    protected void
    アクション後の実行フック。サブクラスでオーバーライドできます。
    protected Event
    アクション実行前のフック。サブクラスでオーバーライドできます。
    protected Event
    「エラー」結果イベントを返します。
    protected Event
    指定された例外によって発生した「エラー」結果イベントを返します。
    final Event
    このアクションを実行します。
    protected StringSE
    ログ記録の目的でこのアクションの名前を返す内部ヘルパー。
    アクション実行結果イベントを作成するためのヘルパーデリゲートを返します。
    protected void
    アクション初期化コールバック。サブクラスによってオーバーライドされ、カスタム初期化ロジックが実行される場合があります。
    protected Event
    no()
    「いいえ」の結果イベントを返します。
    protected Event
    result(boolean booleanResult)
    ブール値の結果が true の場合は yes() を返し、false の場合は no() を返します。
    protected Event
    result(StringSE eventId)
    指定された識別子を持つこのアクションの結果イベントを返します。
    protected Event
    result(StringSE eventId, StringSE resultAttributeName, ObjectSE resultAttributeValue)
    指定された識別子と単一の属性を持つこのアクションの結果イベントを返します。
    protected Event
    result(StringSE eventId, AttributeMap<ObjectSE> resultAttributes)
    指定された識別子と指定された属性セットを持つこのアクションの結果イベントを返します。
    protected Event
    「成功」結果イベントを返します。
    protected Event
    指定された結果オブジェクトをパラメーターとして「成功」結果イベントを返します。
    protected Event
    yes()
    「はい」の結果イベントを返します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final org.apache.commons.logging.Log logger
      サブクラスで使用可能なロガー。
  • コンストラクターの詳細

    • AbstractAction

      public AbstractAction()
  • メソッドの詳細

    • getEventFactorySupport

      public EventFactorySupport getEventFactorySupport()
      アクション実行結果イベントを作成するためのヘルパーデリゲートを返します。
      戻り値:
      イベントファクトリサポート
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE
    • initAction

      protected void initAction() throws ExceptionSE
      アクション初期化コールバック。サブクラスによってオーバーライドされ、カスタム初期化ロジックが実行される場合があります。

      このフックは、アクションの初期化をトリガーするために Spring InitializingBean メカニズムを使用するため、このアクションが Spring アプリケーションコンテキストにデプロイされている場合にのみ呼び出されることに注意してください。

      例外:
      ExceptionSE
    • success

      protected Event success()
      「成功」結果イベントを返します。
    • success

      protected Event success(ObjectSE result)
      指定された結果オブジェクトをパラメーターとして「成功」結果イベントを返します。
      パラメーター:
      result - アクション成功の結果
    • error

      protected Event error()
      「エラー」結果イベントを返します。
    • error

      protected Event error(ExceptionSE e)
      指定された例外によって発生した「エラー」結果イベントを返します。
      パラメーター:
      e - エラーイベントの原因となった例外をイベント属性として設定する
    • yes

      protected Event yes()
      「はい」の結果イベントを返します。
    • no

      protected Event no()
      「いいえ」の結果イベントを返します。
    • result

      protected Event result(boolean booleanResult)
      ブール値の結果が true の場合は yes() を返し、false の場合は no() を返します。
      パラメーター:
      booleanResult - ブール値
      戻り値
      はい、もしくは、いいえ
    • result

      protected Event result(StringSE eventId)
      指定された識別子を持つこのアクションの結果イベントを返します。通常は return の一部として呼び出されます。例:
           protected Event doExecute(RequestContext context) {
               // do some work
               if (some condition) {
                   return result("success");
               } else {
                   return result("error");
               }
           }
       
      共通の結果を返すには、error() または success() ファクトリメソッドを呼び出すことを検討してください。
      パラメーター:
      eventId - 結果イベント識別子
      戻り値:
      アクション結果イベント
    • result

      protected Event result(StringSE eventId, AttributeMap<ObjectSE> resultAttributes)
      指定された識別子と指定された属性セットを持つこのアクションの結果イベントを返します。通常は return の一部として呼び出されます。例:
           protected Event doExecute(RequestContext context) {
               // do some work
               AttributeMap resultAttributes = new AttributeMap();
               resultAttributes.put("name", "value");
               if (some condition) {
                   return result("success", resultAttributes);
               } else {
                   return result("error", resultAttributes);
               }
           }
       
      共通の結果を返すには、error() または success() ファクトリメソッドを呼び出すことを検討してください。
      パラメーター:
      eventId - 結果イベント識別子
      resultAttributes - イベント属性
      戻り値:
      アクション結果イベント
    • result

      protected Event result(StringSE eventId, StringSE resultAttributeName, ObjectSE resultAttributeValue)
      指定された識別子と単一の属性を持つこのアクションの結果イベントを返します。
      パラメーター:
      eventId - 結果 ID
      resultAttributeName - 属性名
      resultAttributeValue - 属性値
      戻り値:
      アクション結果イベント
    • execute

      public final Event execute(RequestContext context) throws ExceptionSE
      インターフェースからコピーされた説明: Action
      このアクションを実行します。アクションの実行は、アクティブなフロー実行に関連付けられたリクエストのコンテキストで発生します。

      アクションの呼び出しは、通常、フロー定義の実行を実行するフロー内の状態によって本番環境でトリガーされます。アクション実行の結果、つまり論理的な結果イベントは、呼び出し状態から遷移するための根拠として使用できます。

      メモ: このメソッドの RequestContext 引数は、現在実行中のスレッドのコンテキストでアクティブなフロー実行に関するデータへのアクセスを提供します。特に、これにより、このアクションは他のアクションによって設定された data にアクセスしたり、特定のスコープ内で公開する独自の属性を設定したりできるようになります。

      アクションと属性スコープ型の使用に関する注意事項:

      • request scope に設定された属性は、現在実行中のリクエストの有効期間中のみ存在します。
      • flash scope で設定された属性は、ビューのレンダリングが完了するまで存在します。その時間には、現在のリクエストと、ビューのレンダリングが完了するために必要なリダイレクトが含まれます。
      • flow scope で設定された属性はフローセッションの存続期間中存在し、フローセッションが終了すると自動的にクリーンアップされます。
      • conversation scope で設定された属性は、フロー実行全体の存続期間中存在し、ユーザーとの単一の論理的な「会話」を表します。

      通常、任意のスコープ内に存在するすべての属性は、ビュー状態などの「インタラクティブ」な状態型が入力されたときに、ビューによるアクセスのためにモデル内で公開されます。

      メモ: フロースコープは、一般的には汎用キャッシュとして使用されるべきではなく、このアクションが関与するフローの他の状態でローカルに必要なデータのコンテキストとして使用されるべきです。例: オブジェクトの大スコープなコレクション (検索結果ビューをサポートするために返されるものなど) をフロースコープに詰め込むのは不適切です。代わりに、そのような結果コレクションをリクエストスコープに配置し、その結果を表示するたびにこのアクションを再度実行してください。SWF の外部で管理される第 2 レベルのキャッシュは、より一般的なキャッシュソリューションです。

      メモ: フロースコープ属性は直列化の対象となるため、Serializable である必要があります。

      次で指定:
      インターフェース Actionexecute 
      パラメーター:
      context - アクション実行コンテキスト。scope type のデータにアクセスして設定し、他のフローコンテキスト情報を取得するためのものです。(例: リクエストコンテキスト属性とフロー実行コンテキスト情報)
      戻り値:
      呼び出しフローの遷移の根拠として使用される論理的な結果 (例: 「成功」、「エラー」、「はい」、「いいえ」、*...)
      例外:
      ExceptionSE - アクション実行中に、チェック済みまたはチェックされていない例外が発生しました。 回復可能な例外はすべてこのメソッド内でキャッチされ、適切な結果が返されるか、呼び出しフロー実行の現在の状態によって処理される必要があることに注意してください。
    • getActionNameForLogging

      protected StringSE getActionNameForLogging()
      ログ記録の目的でこのアクションの名前を返す内部ヘルパー。デフォルトは短いクラス名です。
      関連事項:
      • ClassUtils.getShortName(java.lang.Class)
    • doPreExecute

      protected Event doPreExecute(RequestContext context) throws ExceptionSE
      アクション実行前のフック。サブクラスでオーバーライドできます。このメソッドが null 以外のイベントを返す場合、doExecute() メソッドは呼び出されず、返されたイベントは呼び出しアクション状態でトリガーする遷移を選択するために使用されます。このメソッドが null を返す場合、アクション結果イベントを取得するために doExecute() が呼び出されます。

      この実装は null を返すだけです。

      パラメーター:
      context - 「フロースコープ」または「リクエストスコープ」内のデータにアクセスして設定するためのアクション実行コンテキスト
      戻り値:
      null 以外のアクション結果。この場合、doExecute() は呼び出されません。アクション結果を取得するために doExecute() メソッドを呼び出す必要がある場合は、null が呼び出されます。
      例外:
      ExceptionSE - チェック済みまたはチェックされていない回復不可能な例外が発生しました
    • doExecute

      protected abstract Event doExecute(RequestContext context) throws ExceptionSE
      テンプレートフックメソッドのサブクラスは、特定のアクション実行ロジックをカプセル化するためにオーバーライドする必要があります。
      パラメーター:
      context - 「フロースコープ」または「リクエストスコープ」内のデータにアクセスして設定するためのアクション実行コンテキスト
      戻り値:
      アクション結果イベント
      例外:
      ExceptionSE - チェック済みまたはチェックされていない回復不可能な例外が発生しました
    • doPostExecute

      protected void doPostExecute(RequestContext context) throws ExceptionSE
      アクション後の実行フック。サブクラスがオーバーライドする場合があります。doExecute() が呼び出された場合にのみ呼び出されます (例: doPreExecute() が null を返した場合)。

      この実装は何もしません。

      パラメーター:
      context - 「フロースコープ」または「リクエストスコープ」内のデータにアクセスして設定するためのアクション実行コンテキスト
      例外:
      ExceptionSE - チェック済みまたはチェックされていない回復不可能な例外が発生しました