JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
Spring-MVCの散歩道 > SpringMVC の小径 > 第7歩 Spring-MVC 迷いの一歩 > Singletonの悪魔

package jp.dip.arimodoki.model;

import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.Range;
import org.springframework.stereotype.Component;

@Scope("prototype")  //悪魔祓いのお札です
@Component              //コンポーネントスキャン用のおまじない
public class PromenadeForm implements PromenadeFormIf {

    /**
     * 名前
     */
    @NotBlank       //未入力はダメ!
    private String myname = "";

    /**
     * 年齢
     */
    @NotNull            //nullはダメ!
    @Range(min=0,max=150, message="最大最小は、{myForm.minmax}")    //範囲チェック
    private int age = 0;

    /**
     * 電話番号
     */
    @NotBlank       //未入力はダメ!
    @Pattern(regexp = "^[-0-9]*$",message = "数字と-だけょ。")  //数字とハイフン
    private String phone = "";

    /**
     * email
     */
    @NotBlank       //未入力はダメ!
    @Email              //emailフォーマットチェック
    private String email = "";

    /**
     * CheckBox選択 必須チェック
     */
    private  String[] checkVals = new String[0];

    /**
     * checkBox の選択必須チェック
     */
    @AssertTrue(message = "どれか選ばんか~ぃ!")
    public boolean isCheckValsSelect() {
        return checkVals.length==0 ? false : true;
    }

    /**
     * 私のお気に入り
     */
    private String favorite = "";

    //////////////////////
    // 以降 accessor
    //////////////////////
    public String getMyname() {
        return myname;
    }

    public void setMyname(String myname) {
        this.myname = myname;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String[] getCheckVals() {
        return checkVals;
    }

    public void setCheckVals(String[] checkVals) {
        this.checkVals = checkVals;
    }

    public String getFavorite() {
        return favorite;
    }

    public void setFavorite(String favorite) {
        this.favorite = favorite;
    }

}