/**
 * @file 2016/12/06
 */
package quiz.model;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;

import quiz.CheckInput;
import quiz.CheckMean;
import quiz.CheckWord;

/**
 * レコードデータ格納クラス
 *
 * @author Yuka Yoshikawa
 *
 */
public class EnglishWordBean {

	/** ID */
	private int id;
	/** 英単語 */
	private String word;
	/** 品詞 */
	private Part part;
	/** 英単語意味 */
	private String mean;
	/** 更新日時 */
	private String updateTime;

	/** 英単語 入力チェック */
	private CheckInput checkWord = new CheckWord();
	/** 英単語意味 入力チェック */
	private CheckInput checkMean = new CheckMean();

	/**
	 * IDのゲッターメソッド
	 *
	 * @return id String型 ID
	 */
	public int getId() {
		return id;
	}

	/**
	 * IDのセッターメソッド
	 *
	 * @param id
	 *            String型 ID
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * 英単語のゲッターメソッド
	 *
	 * @return word String型 英単語
	 */
	public String getWord() {
		return word;
	}

	/**
	 * 英単語のセッターメソッド
	 *
	 * @param word
	 *            String型 英単語
	 * @throws IllegalArgumentException
	 *             入力チェックで定義外引数が入力されたときにスローする
	 */
	public void setWord(String word) throws IllegalArgumentException {
		if (checkWord.validate(word)) {
			throw new IllegalArgumentException("EnglishWordBeanクラス 英単語 入力値に異常値があります");
		}
		this.word = word;
	}

	/**
	 * 品詞のゲッターメソッド
	 *
	 * @return part Part列挙型 品詞
	 */
	public Part getPart() {
		return part;
	}

	/**
	 * 品詞のセッターメソッド
	 *
	 * @param part
	 *            Part列挙型 品詞
	 */
	public void setPart(Part part) throws IllegalArgumentException {
		if (part == null) {
			throw new IllegalArgumentException("EnglishWordBeanクラス 品詞 入力値に異常値があります");
		}
		this.part = part;
	}

	/**
	 * 英単語意味のゲッターメソッド
	 *
	 * @return mean String型 英単語意味
	 */
	public String getMean() {
		return mean;
	}

	/**
	 * 英単語意味のセッターメソッド
	 *
	 * @param mean
	 *            String型 英単語意味
	 * @throws IllegalArgumentException
	 *             入力チェックで定義外引数が入力されたときにスローする
	 */
	public void setMean(String mean) throws IllegalArgumentException {
		if (checkMean.validate(mean)) {
			throw new IllegalArgumentException("EnglishWordBeanクラス 英単語意味 入力値に異常値があります");
		}
		this.mean = mean;
	}

	/**
	 * 更新日時のゲッターメソッド
	 *
	 * @return updateTime String型 更新日時
	 */
	public String getUpdateTime() {
		return updateTime;
	}

	/**
	 * 更新日時のセッターメソッド
	 *
	 * @param updateTime
	 *            String型 更新日時
	 */
	public void setUpdateTime(Timestamp updateTime) {

		this.updateTime = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(updateTime);
		;
	}

}

@@ -1193,31 +1193,12 @@
 on(%22
-EnglishWordBean%E3%82%AF%E3%83%A9%E3%82%B9 
 %E8%8B%B1%E5%8D%98%E8%AA%9E
- 
+%E3%81%AE
 %E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%AB
@@ -1197,32 +1197,33 @@
 %E8%8B%B1%E5%8D%98%E8%AA%9E%E3%81%AE%E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%AB%E7%95%B0%E5%B8%B8%E5%80%A4%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99
+%E3%80%82
 %22);%0A%09%09%7D%0A%09%09this.w
@@ -1543,30 +1543,11 @@
 on(%22
-EnglishWordBean%E3%82%AF%E3%83%A9%E3%82%B9 
 %E5%93%81%E8%A9%9E
- 
+%E3%81%AE
 %E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%AB
@@ -1546,32 +1546,33 @@
 %22%E5%93%81%E8%A9%9E%E3%81%AE%E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%AB%E7%95%B0%E5%B8%B8%E5%80%A4%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99
+%E3%80%82
 %22);%0A%09%09%7D%0A%09%09this.p
@@ -2000,33 +2000,14 @@
 on(%22
-EnglishWordBean%E3%82%AF%E3%83%A9%E3%82%B9 
 %E8%8B%B1%E5%8D%98%E8%AA%9E%E6%84%8F%E5%91%B3
- 
+%E3%81%AE
 %E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%AB
@@ -2014,16 +2014,17 @@
 %E7%95%B0%E5%B8%B8%E5%80%A4%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99
+%E3%80%82
 %22);%0A%09%09%7D%0A

Fix error message