//===========================================================================
// package
//===========================================================================
package jp.gr.java_conf.bugslife.form;

//===========================================================================
// import
//===========================================================================
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.ValidatorForm;

import java.io.UnsupportedEncodingException;

import jp.gr.java_conf.bugslife.util.*;
/**
 *<PRE>
 * UserEditFormクラス
 *
 *</PRE>
 * @author 鰐川　正寛
 * @version 1.0.0
 */
public class UserEditForm3 extends ValidatorForm {
//===========================================================================
// attributes
//===========================================================================
	/**
	 * アクション
	 */
	private String m_action;
	/**
	 * ログイン可
	 */
	private byte m_enableLogin;
	/**
	 * ディスパッチ可
	 */
	private byte m_enableDispatch;
	/**
	 * メールサブシステム
	 */
	private String m_mailSubsystem;
	/**
	 * メール機能
	 */
	private String m_mailFunctionName;
	/**
	 * メール購読（発行）
	 */
	private boolean m_subscriprion0;
	/**
	 * メール購読（故障）
	 */
	private boolean m_subscriprion1;
	/**
	 * メール購読（方針）
	 */
	private boolean m_subscriprion2;
	/**
	 * メール購読（解析）
	 */
	private boolean m_subscriprion3;
	/**
	 * メール購読（対処）
	 */
	private boolean m_subscriprion4;
	/**
	 * メール購読（確認）
	 */
	private boolean m_subscriprion5;
	/**
	 * Log
	 */
	private Log log = LogFactory.getLog(this.getClass().getName());
//===========================================================================
// methods
//===========================================================================
	/**
	 * アクションの取得
	 * 
	 * @return アクション
	 */
	public String getAction()
	{
		return m_action;
	}
	/**
	 * アクションのセット
	 * 
	 * @param uid アクション
	 */
	public void setAction(String action)
	{
		m_action = action;
	}
	/**
	 * ログイン可のセット
	 * 
	 * @param enableLogin ログイン可
	 */
	public void setEnableLogin(byte enableLogin) {
		m_enableLogin = enableLogin;
	}
	/**
	 * ログイン可の取得
	 * 
	 * @return ログイン可
	 */
	public byte getEnableLogin() {
		return m_enableLogin;
	}
	/**
	 * ログイン可のセット
	 * 
	 * @param enableLogin ログイン可
	 */
	public void setEnableDispatch(byte enableDispatch) {
		m_enableDispatch = enableDispatch;
	}
	/**
	 * ログイン可の取得
	 * 
	 * @return ログイン可
	 */
	public byte getEnableDispatch() {
		return m_enableDispatch;
	}
	/**
	 * メールサブシステムの取得
	 * 
	 * @return メールサブシステム
	 */
	public String getMailSubsystem()
	{
		return m_mailSubsystem;
	}
	/**
	 * メールサブシステムのセット
	 * 
	 * @param uid メールサブシステム
	 */
	public void setMailSubsystem(String mailSubsystem)
	{
		m_mailSubsystem = mailSubsystem;
	}
	/**
	 * メール機能の取得
	 * 
	 * @return メール機能
	 */
	public String getMailFunctionName()
	{
		return m_mailFunctionName;
	}
	/**
	 * メール機能のセット
	 * 
	 * @param uid メール機能
	 */
	public void setMailFunctionName(String mailFunctionName)
	{
		m_mailFunctionName = mailFunctionName;
	}
	/**
	 * メール購読（発行）の取得
	 * 
	 * @return メール購読（発行）
	 */
	public boolean getSubscriprion0()
	{
		return m_subscriprion0;
	}
	/**
	 * メール購読（発行）のセット
	 * 
	 * @param subscriprion0 メール購読（発行）
	 */
	public void setSubscriprion0(boolean subscriprion0)
	{
		m_subscriprion0 = subscriprion0;
	}
	/**
	 * メール購読（故障）の取得
	 * 
	 * @return メール購読（故障）
	 */
	public boolean getSubscriprion1()
	{
		return m_subscriprion1;
	}
	/**
	 * メール購読（故障）のセット
	 * 
	 * @param subscriprion1 メール購読（故障）
	 */
	public void setSubscriprion1(boolean subscriprion1)
	{
		m_subscriprion1 = subscriprion1;
	}
	/**
	 * メール購読（方針）の取得
	 * 
	 * @return メール購読（方針）
	 */
	public boolean getSubscriprion2()
	{
		return m_subscriprion2;
	}
	/**
	 * メール購読（方針）のセット
	 * 
	 * @param subscriprion2 メール購読（方針）
	 */
	public void setSubscriprion2(boolean subscriprion2)
	{
		m_subscriprion2 = subscriprion2;
	}
	/**
	 * メール購読（解析）の取得
	 * 
	 * @return メール購読（解析）
	 */
	public boolean getSubscriprion3()
	{
		return m_subscriprion3;
	}
	/**
	 * メール購読（解析）のセット
	 * 
	 * @param subscriprion3 メール購読（解析）
	 */
	public void setSubscriprion3(boolean subscriprion3)
	{
		m_subscriprion3 = subscriprion3;
	}
	/**
	 * メール購読（対処）の取得
	 * 
	 * @return メール購読（対処）
	 */
	public boolean getSubscriprion4()
	{
		return m_subscriprion4;
	}
	/**
	 * メール購読（対処）のセット
	 * 
	 * @param subscriprion4 メール購読（対処）
	 */
	public void setSubscriprion4(boolean subscriprion4)
	{
		m_subscriprion4 = subscriprion4;
	}
	/**
	 * メール購読（確認）の取得
	 * 
	 * @return メール購読（確認）
	 */
	public boolean getSubscriprion5()
	{
		return m_subscriprion5;
	}
	/**
	 * メール購読（確認）のセット
	 * 
	 * @param subscriprion5 メール購読（確認）
	 */
	public void setSubscriprion5(boolean subscriprion5)
	{
		m_subscriprion5 = subscriprion5;
	}
	public String toString() {
		
		StringBuffer sb = new StringBuffer();
		sb.append("action         :" + m_action  +"\n");
		sb.append("enableLogin    :" + m_enableLogin  +"\n");
		sb.append("enableDispatch :" + m_enableDispatch +"\n");
		sb.append("mailSubsystem  :" + m_mailSubsystem + "\n");
		sb.append("mailFunctionName:" + m_mailFunctionName + "\n");
		sb.append("subscription0:"  + m_subscriprion0 + "\n");
		sb.append("subscription1:"  + m_subscriprion1 + "\n");
		sb.append("subscription2:"  + m_subscriprion2 + "\n");
		sb.append("subscription3:"  + m_subscriprion3 + "\n");
		sb.append("subscription4:"  + m_subscriprion4 + "\n");
		sb.append("subscription5:"  + m_subscriprion5 + "\n");
		return new String(sb);
	}
//===========================================================================
// Public Methods
//===========================================================================
	/**
	* リセット
	*
	* @param mapping The mapping used to select this instance
	* @param request The servlet request we are processing
	*/
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		
		//debug
		log.debug("reset");
		//encodeing セット
		try {
			request.setCharacterEncoding("SJIS");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		
		m_enableLogin = 0;
		m_enableDispatch = 0;
		m_mailSubsystem = null;
		m_mailFunctionName = null;
		m_subscriprion0 = false;
		m_subscriprion1 = false;
		m_subscriprion2 = false;
		m_subscriprion3 = false;
		m_subscriprion4 = false;
		m_subscriprion5 = false;
	}
	/**
	* 値の検証(Validate) 
	*
	* @param mapping The mapping used to select this instance
	* @param request The servlet request we are processing
	*/
	public ActionErrors validate(ActionMapping mapping,
								 HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
	
		log.debug("validate");
		log.debug(toString());
		
		return errors;
	}
}