/*
このファイルの中身は、NTT オープンソースライセンス　バージョン 1.0（「本
契約」という）の適用を受けます。
本契約を遵守しない限り、このファイルを使用してはなりません。
本契約のコピーは、次のＵＲＬから入手できます。
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

本契約に基づき頒布されるソフトウェアは、現状のまま、明示又は黙示のあらゆ
る種類の保証なしで、頒布されます。本契約に基づく権利及び制限を律する特定
の文言については、本契約を参照してください。

「オリジナルコード」は、 NTT Cyber Space Laboratories Code です。 
「オリジナルコード」の「初期開発者」は、日本電信電話株式会社です。  
日本電信電話株式会社により創作された部分は、Copyright (C) 2004 
日本電信電話株式会社 です。
全ての権利が留保されます。 
「コントリビュータ」：_____________________________________ 


The contents of this file are subject to the NTT Opensource License
Version 1.0 (the License); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

Software distributed under the License is distributed on an AS IS
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is NTT Cyber Space Laboratories Code .

The Initial Developer of the Original Code is NIPPON TELEGRAPH AND 
TELEPHONE CORPORATION.
Portions created by the NIPPON TELEGRAPH AND TELEPHONE CORPORATION 
are Copyright (C) 2004 NIPPON TELEGRAPH AND TELEPHONE CORPORATION. 
All Rights Reserved.

Contributor(s) ______________________________________.
*/

//
// メール送信先ユーザID格納クラス
// 
//
//	変更履歴
//	2004/01/08 新規作成	M.Seko 

package jp.co.ntt.lms.xms.common.mail;

import java.io.Serializable;
import java.util.Vector;


/**
 * メール送信先ユーザID格納クラス。<br>
 * メールテンプレートを使用する業務は、
 * このクラスにメール送信先のUserIDをセットする。<br>
 *
 *	@author M.Seko
 */
public class SendUser implements Serializable{
	/** クローズActionID */
	String closeActionID;
	/** 教材*/
	Vector loList = null;
	/** メール種別*/
	private int mailType = -1;//初期値として、存在しないメール種別を設定
	/** メール送信済みユーザ数*/
	private int sendedUserCount = 0;
	/** 最大同時メール送信数*/
	private int simultaneousSendCountMax = 0;
	/** メール送信対象ユーザ*/
	Vector userList = null;
	
	String status = "default";

	/**
	 * クローズActionIDを取得する。<br>
	 *
	 * @return closeActionID クローズActionID
	 */
	public String getCloseActionID() {
		return closeActionID;
	}
	/**
	 * メール送信済みユーザ数を取得する。<br>
	 *
	 * @return sendedUserCount メール送信済みユーザ数
	 */
	public int getIndex() {
		return sendedUserCount;
	}
	/**
	 * 教材を取得する。<br>
	 *
	 * @return loList 教材
	 */
	public Vector getLoList() {
		return loList;
	}
	/**
	 * メール種別を取得する。<br>
	 *
	 * @return mailType メール種別
	 */
	public int getMailType() {
		return mailType;
	}
	/**
	 * 最大同時メール送信数を取得する。<br>
	 *
	 * @return simultaneousSendCountMax 最大同時メール送信数
	 */
	public int getSendCountMax() {
		return simultaneousSendCountMax;
	}
	/**
	 * メール送信対象ユーザを取得する。<br>
	 *
	 * @return userList メール送信対象ユーザ
	 */
	public Vector getUserList() {
		return userList;
	}

	/**
	 * 実行状況を取得する。<br>
	 * @status  実行状況
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * クローズActionIDを設定する。<br>
	 *
	 * @param closeActionID クローズActionID
	 */
	public void setCloseActionID(String closeActionID) {
		this.closeActionID = closeActionID;
	}
	/**
	 * メール送信済みユーザ数を取得する。<br>
	 *
	 * @param sendedUserCount メール送信済みユーザ数
	 */
	public void setIndex(int sendedUserCount) {
		this.sendedUserCount = sendedUserCount;
	}
	/**
	 * メール種別を設定する。<br>
	 *
	 * @param mailType メール種別
	 */
	public void setMailType(int mailType) {
		this.mailType = mailType;
	}
	/**
	 * 最大同時メール送信数を設定する。<br>
	 *
	 * @param simultaneousSendCountMax 最大同時メール送信数
	 */
	public void setSendCountMax(int simultaneousSendCountMax) {
		this.simultaneousSendCountMax = simultaneousSendCountMax;
	}
	/**
	 * 実行状況を設定する。<br>
	 * @param string
	 */
	public void setStatus(String status) {
		this.status = status;
	}
	/**
	 * メール送信対象ユーザを設定する。<br>
	 * 
	 * @param vecUser メール送信対象ユーザ
	 */
	public void setUserAndLo(Vector vecUser) {
		this.userList = vecUser;
	}
	/**
	 * メール送信対象ユーザおよび教材を設定する。<br>
	 * 
	 * @param vecUser メール送信対象ユーザ
	 * @param strLo   教材
	 */
	public void setUserAndLo(Vector vecUser, String strLo) {
		this.loList = new Vector();
		this.userList = vecUser;
		for (int i = 0; i < vecUser.size(); i++) {
			this.loList.add(strLo);
		}
	}
	/**
	 * メール送信対象ユーザおよび教材を設定する。<br>
	 * 
	 * @param vecUser メール送信対象ユーザ
	 * @param strLo   vecLo
	 */
	public void setUserAndLo(Vector vecUser, Vector vecLo) {
		this.userList = vecUser;
		this.loList = vecLo;
	}
}
