/*
 * This code is generated by blanco Framework.
 */
package blancostruts.sample.base.form;

import javax.servlet.http.HttpServletRequest;

import blanco.web.struts.runtime.validator.Validator;
import blancostruts.runtime.DefaultActionForm;
import blancostruts.runtime.validator.message.ErrorMessageKey;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;

/**
 *	ログイン
 *	ログインのActionFrom
 */
public class LoginForm extends DefaultActionForm {
	private String _userCode = "";

	private String _password = "";

	private String _eventId = "";


	/**
	 *	userCode を取得。
	 *	
	 *	@return userCodeを返す。
	 */
	public String getUserCode() {
		return _userCode;
	}

	/**
	 *	userCode を設定。
	 *	
	 *	@param userCode userCode パラメータ。
	 */
	public void setUserCode(String userCode) {
		_userCode = userCode;
	}

	/**
	 *	password を取得。
	 *	
	 *	@return passwordを返す。
	 */
	public String getPassword() {
		return _password;
	}

	/**
	 *	password を設定。
	 *	
	 *	@param password password パラメータ。
	 */
	public void setPassword(String password) {
		_password = password;
	}

	/**
	 *	eventId を取得。
	 *	
	 *	@return eventIdを返す。
	 */
	public String getEventId() {
		return _eventId;
	}

	/**
	 *	eventId を設定。
	 *	
	 *	@param eventId eventId パラメータ。
	 */
	public void setEventId(String eventId) {
		_eventId = eventId;
	}

	/**
	 *	validateメソッド。
	 *	このメソッドはStrutsにより呼ばれます。
	 *	
	 *	@param mapping mapping パラメータ。
	 *	@param request request パラメータ。
	 *	
	 *	@return エラーがなかった場合、空のActionErrosが返されます。
	 */
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		errors = validateRequired(mapping, request);
		if(!errors.isEmpty()){
			return errors;
		}
		errors = validateFormat(mapping, request);
		if(!errors.isEmpty()){
			return errors;
		}
		errors = validateRange(mapping, request);
		return errors;
	}

	/**
	 *	必須入力検証メソッド。
	 *	validate()メソッドにより呼ばれます。
	 *	
	 *	@param mapping mapping パラメータ。
	 *	@param request request パラメータ。
	 *	
	 *	@return エラーがなかった場合、空のActionErrosが返されます。
	 */
	public ActionErrors validateRequired(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		if(!Validator.validateRequired(_userCode)){
			String messageKey = ErrorMessageKey.REQUIRED.getKey();
			Object[] arguments = new Object[]{_userCode, "ログインユーザコード"};
			errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(messageKey, arguments));
		}
		
		if(!Validator.validateRequired(_password)){
			String messageKey = ErrorMessageKey.REQUIRED.getKey();
			Object[] arguments = new Object[]{_password, "ログインパスワード"};
			errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(messageKey, arguments));
		}
		
		return errors;
	}

	/**
	 *	フォーマット検証メソッド。
	 *	validate()メソッドにより呼ばれます。
	 *	
	 *	@param mapping mapping パラメータ。
	 *	@param request request パラメータ。
	 *	
	 *	@return エラーがなかった場合、空のActionErrosが返されます。
	 */
	public ActionErrors validateFormat(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		if(!Validator.validateStringSizeByBytes(_userCode, "1", "10")){
			String messageKey = ErrorMessageKey.BYTE_SIZE.getKey();
			Object[] arguments = new Object[]{_userCode, "1", "10", "ログインユーザコード"};
			errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(messageKey, arguments));
		}
		
		return errors;
	}

	/**
	 *	範囲検証メソッド。
	 *	validate()メソッドにより呼ばれます。
	 *	
	 *	@param mapping mapping パラメータ。
	 *	@param request request パラメータ。
	 *	
	 *	@return エラーがなかった場合、空のActionErrosが返されます。
	 */
	public ActionErrors validateRange(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		return errors;
	}

	/**
	 *	リセットメソッド。
	 *	全ての値を初期化します。
	 *	
	 *	@param mapping mapping パラメータ。
	 *	@param request request パラメータ。
	 */
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		_userCode = "";
		_password = "";
	}
}
