Interface Command


public interface Command

ロジックを実装するためのインタフェースです。

ロジックはこのインタフェースをimplementsしたクラスのexecuteメソッド内に記述してください。 Commandは、Webブラウザからの呼び出し(action)に対する処理ロジック、 WebApiの処理ロジック、 カスタムのワークフローの処理ロジックなどを実装します。

注意

デフォルトの設定(設定はアノテーション、もしくはadminConsoleからMetaDataとして設定する)ではCommandインスタンスは共有され、複数スレッドから同時に呼び出されるので、 デフォルト設定のまま利用する場合はクライアント依存・リクエスト依存の情報は、フィールドに保持しないようにしてください。

実装例(アノテーションにてCommand設定を定義)
 @CommandClass(name="sample/SampleCmd", displayName="サンプルの処理")
 public class SampleCmd implements Command {
   
   //Commandの処理ロジックをexecuteメソッド内に記述
   public String execute(RequestContext request) {
     String id = request.getParam("id");
     if (id == null) {
       throw new ApplicationException("id is null");
     }
     
     if (id.equals("valid")) {
       return "SUCCESS";
     } else {
       return "FAIL";
     }
   }
   
 }
 
  • Method Summary

    Modifier and Type
    Method
    Description
    実行するロジックを記述します。 基本的にはexecute()呼び出し前にトランザクションは基盤側で自動的に開始されます。 処理実行中に例外が発生し、execute内で処理されず基盤側までスローされた場合は、 execute()呼び出し前に自動開始されたトランザクションはロールバックされます。
  • Method Details

    • execute

      String execute(RequestContext request)
      実行するロジックを記述します。 基本的にはexecute()呼び出し前にトランザクションは基盤側で自動的に開始されます。 処理実行中に例外が発生し、execute内で処理されず基盤側までスローされた場合は、 execute()呼び出し前に自動開始されたトランザクションはロールバックされます。
      Parameters:
      request -
      Returns: