5.JAVAソース生成plugin


こんにちは、今回はEzServletのpluginの1つでものある「JAVAソース生成」pluginについて説明したいと思います。これでEzServletのpluginは最後です...やっとです><
セッティングsheet生成pluginで作成されたExcelシート(入力値妥当性チェックの設定等を行った)を元に、MVCモデルのFromクラスとActionクラスのjavaソースとpropertiesを自動生成します。


では早速利用方法について説明します。
今回利用するサンプルは前回説明したセッティングsheet()を利用します。
1.対象となるExcelを選択します。


2.すかさず「U」ボタンを押下します。


3.選択したパッケージに「SampleForm.java」「SampleAction.java」「SampleAction.properties」
 が作成されます。

4.SampleForm.javaを開きます。

package jp.co.dsc.sample.list;

import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;

import are.trygun.framework.util.message.EzMessage;

import static are.trygun.framework.util.validate.EzValidateUtil.*;
/**
 * <p>SampleForm画の入出力情報をマッピングするクラスです</p>
 *
 * @author xxxx
 * @version 1.00 2010/02/17
 * @since 1.00
 *
 */
public class SampleForm implements Serializable {
   /** serial version id */
   private static final long serialVersionUID = 1L;
   /** PROPERTYファイルのパスを保持する属性です。*/
   public static final String PROPERTY =  SampleAction.class.getName();
   /* TRYGEN_SOURCE_REPLACE_BEGIN */
   /** 出力目「errors」の情報を保持する属性です。*/
   public String[] errors;
   /** 入力目「氏名」の情報を保持する属性です。*/
   public String name;
   /** 入力目「ユーザーID」の情報を保持する属性です。*/
   public String userid;
   /** 入力目「メールアドレス」の情報を保持する属性です。*/
   public String mail;
   /** 入力目「住所」の情報を保持する属性です。*/
   public String address;
   /** 示・示フラグ「display」の情報を保持する属性です。*/
   public boolean display = flase;
   /** 繰りし目のクラス「Result」を保持するList属性です。*/
   public List<Result> resultList = new ArrayList<Result>();

   /**
    * <p>Result画の入出力情報をマッピングするクラスです</p>
    */
   public static class Result implements Serializable {
      /** serial version id */
      private static final long serialVersionUID = 1L;
      /* TRYGEN_SOURCE_REPLACE_BEGIN */
      /** 出力目「name」の情報を保持する属性です。*/
      public String name;
      /** 出力目「userid」の情報を保持する属性です。*/
      public String userid
      /** 出力目「mail」の情報を保持する属性です。*/
      public String mail;
      /* TRYGEN_SOURCE_REPLACE_FINAL */
   }
   /* TRYGEN_SOURCE_REPLACE_FINAL */

   /**
    * <p>SampleForm画のプロパティーキーや定数の管理をう内クラスです</p>
    */
   public static class VC implements Serializable {
      /** serial version id */
      private static final long serialVersionUID = 1L;
      /* TRYGEN_SOURCE_REPLACE_BEGIN */
      /** 入力目「氏名」の目名のプロパティーキーを保持する属性です。*/
      public static final String NAME = "label.name";
      /** 入力目「ユーザーID」の目名のプロパティーキーを保持する属性です。*/
      public static final String USERID = "label.userid";
      /** 入力目「メールアドレス」の目名のプロパティーキーを保持する属性です。*/
      public static final String MAIL = "label.mail";
      /** 入力目「住所」の目名のプロパティーキーを保持する属性です。*/
      public static final String ADDRESS = "label.address";
      /* TRYGEN_SOURCE_REPLACE_FINAL */
   }

   /**
    * <p>画入力値の検をないます。</p>
    * @return boolean 検結果の成否
    */
   public boolean validate() {
      //   チェック結果を保持する属性の宣と初期化をないます。
      EzMessage ezMessage = new EzMessage(PROPERTY);
      // 「氏名」目に対して「全」チェックをないます。
      character(ezMessage).name(VC.NAME).digit(20).emSize().validate(this.name);
      // 「ユーザーID」目に対して「数」チェックをないます。
      character(ezMessage).name(VC.USERID).digit(20).alphabet().number().validate(this.userid);
      // 「メールアドレス」目に対して「半」チェックをないます。
      character(ezMessage).name(VC.MAIL).digit(100).alphabet().number().sign().kana().validate(this.mail);
      //  エラーメッセージをセットします。
      this.errors = ezMessage.getMessage();
      //   検結果の成否をします。
      return ezMessage.isSuccess();
   }
}


5.SampleAction.javaを開きます。

package jp.co.dsc.sample.list;

import are.trygun.framework.container.servlet.EzRequest;
import are.trygun.framework.container.servlet.EzResponse;
import are.trygun.framework.util.message.EzMessage;

/**
 * <p>SampleFormの画制御(コントロール)をうクラスです</p>
 *
 * @author xxxxx
 * @version 1.00 2010/02/17
 * @since 1.00
 *
 */
public class SampleAction {
   /**
    * <p>SampleFormの初期示求があった場合に呼び出されるメソッドです。</p>
    * @param request リクエスト
    * @param response レスポンス
    * @param sampleForm
    */
   public void index(EzRequest request, EzResponse response, SampleForm sampleForm) {
      //   EzSessionに格納されているBeanを削します。
      request.getSession().removePage();
      //   EzResponseに示するHTMLのBeanをセットします。
      response.to(sampleForm);
   }

   /**
    * <p>「○○」ボタン押下時に呼び出されるメソッドです。</p>
    * @param request リクエスト
    * @param response レスポンス
    * @param sampleForm
    */
   public void doSearch(EzRequest request, EzResponse response, SampleForm sampleForm) {
      //   画入力値をsampleFormにmappingします。
      request.bind(sampleForm);
      //   入力値の検をないます。
      response.continuation(sampleForm.validate());
      //   チェック結果を保持する属性の宣と初期化をないます。
      EzMessage ezMessage = new EzMessage(SampleForm.PROPERTY);

      //   ビジネスロジックを呼び出します(START)

      //   ビジネスロジックを呼び出します(E N D)

      //  EzResponseに示するHTMLのBeanをセットします。
      response.to(sampleForm);
   }


   /**
    * <p>「○○」ボタン押下時に呼び出されるメソッドです。</p>
    * @param request リクエスト
    * @param response レスポンス
    * @param i 択されたボタンのResultクラスのインデックス
    * @param sampleForm
    */
   public void doDetails(EzRequest request, EzResponse response, int i, SampleForm sampleForm)  {
      //   画入力値をsampleFormにmappingします。
      request.bind(sampleForm);
      //   チェック結果を保持する属性の宣と初期化をないます。
      EzMessage ezMessage = new EzMessage(SampleForm.PROPERTY);

      //   ビジネスロジックを呼び出します(START)

      //   ビジネスロジックを呼び出します(E N D)

      //  EzResponseに示するHTMLのBeanをセットします。
      response.to(sampleForm);
   }

   /* TRYGEN_SOURCE_REPLACE_BEGIN */
   /* TRYGEN_SOURCE_REPLACE_FINAL */
}


6.SampleAction.propertiesを開きます。

# --------------------------------------------------
# 「SampleForm」Beanの定
# --------------------------------------------------
# ラベル「サンプル一照会」 
label.title=サンプル一照会
# ラベル「氏名」 
label.name=氏名
# ラベル「ユーザーID」 
label.userid=ユーザーID
# ラベル「メールアドレス」 
label.mail=メールアドレス
# ラベル「住所」 
label.address=住所
# ラベル「検索」 
label.search=検索
# ラベル「細」 
label.details=詳細

各リソースの詳細説明は次回に…(^^;)