/*
このファイルの中身は、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) ______________________________________.
*/

//
//	Assignments 管理XMO データ保持クラス
//			変更履歴
//				2004.01.08	新規作成	二條智文
//
package jp.co.ntt.lms.xmo.Assignments;

import java.util.*;

/**
 * Assignments 管理XMO データ保持クラスです。<BR>
 * このクラスはAssignmentsテーブルの検索結果をサーバからクライアントに
 * 送信するときに使用されます。<BR>
 * 直列化のためにjava.io.Serializableインタフェースを実装します。
 * @author T.Nijou
 * @version 0.0.0.1 2004/01/08
 */
public class AssignmentsData implements java.io.Serializable {

	/** 割当IDを保持します */
	private String pstrAssignID = null;

	/** 人々IDを保持します */
	private String pstrMemberShipID = null;

	/** コンポーネントIDを保持します */
	private String pstrMaterialID = null;

	/** 開始日を保持します */
	private String pstrStudyStartDate = null;

	/** 終了日を保持します */
	private String pstrEndDate = null;

	/** アサイン者を保持します */
	private String pstrAssigner = null;

	/** 学習権限を保持します */
	private String pstrLearnAuthority = null;

	/** 管理権限を保持します */
	private String pstrManagementAuthority = null;

	/** 処理モードを保持します */
	private String pstrMode = null;

	/** メール送信結果を保持します */
	private int pintMailResult;

	/** メール送信NG情報を保持します */
	private ArrayList pobjNgMailList = null;

	/** メール未送信情報を保持します */
	private ArrayList pobjNotSendMailList = null;

	/** アサインユーザリストを保持します */
	private Vector pvecAssignUserList = new Vector();

	/**
	 *  学習開始日時を保持します。
	 */
	private Date openingDate;

	/**
	 *  学習終了日時を保持します。
	 */
	private Date closingDate;
	
	/**
	 *  学習制限回数を保持します。
	 */
	private String studyLimitCount;

	/**
	 *  学習回数を保持します。
	 */
	private String studyCount;
	
	/**
	 * メソッドフラグ情報を保持します。
	 */
	private String methodFlag;

	/**
	 * メソッドフラグ情報を設定します
	 * 
	 * @param strMethodFlag メソッドフラグ情報
	 */
	public void setMethodFlag(String strMethodFlag)
	{
		methodFlag = strMethodFlag;
	}
	
	/**
	 * メソッドフラグ情報を取得します
	 * 
	 * @return メソッドフラグ情報
	 */
	public String getMethodFlag()
	{
		return methodFlag;
	}
	
	/**
	 * 割当IDを設定します
	 * @param astrAssignID 割当ID
	 */
	public void setAssignID( String astrAssignID ) {
		pstrAssignID = astrAssignID;
	}

	/**
	 * 割当IDを取得します
	 * @return String 割当ID
	 */
	public String getAssignID() {
		return pstrAssignID;
	}

	/**
	 * 人々IDを設定します
	 * @param astrMemberShipID 人々ID
	 */
	public void setMemberShipID( String astrMemberShipID ) {
		pstrMemberShipID = astrMemberShipID;
	}

	/**
	 * 人々IDを取得します
	 * @return String 人々ID
	 */
	public String getMemberShipID() {
		return pstrMemberShipID;
	}

	/**
	 * コンポーネントIDを設定します
	 * @param astrMaterialID コンポーネントID
	 */
	public void setMaterialID( String astrMaterialID ) {
		pstrMaterialID = astrMaterialID;
	}

	/**
	 * コンポーネントIDを取得します
	 * @return String コンポーネントID
	 */
	public String getMaterialID() {
		return pstrMaterialID;
	}

	/**
	 * 開始日を設定します
	 * @param astrStudyStartDate 開始日
	 */
	public void setStudyStartDate( String astrStudyStartDate ) {
		pstrStudyStartDate = astrStudyStartDate;
	}

	/**
	 * 開始日を取得します
	 * @return String 開始日
	 */
	public String getStudyStartDate() {
		return pstrStudyStartDate;
	}

	/**
	 * 終了日を設定します
	 * @param astrEndDate 終了日
	 */
	public void setEndDate( String astrEndDate ) {
		pstrEndDate = astrEndDate;
	}

	/**
	 * 終了日を取得します
	 * @return String 終了日
	 */
	public String getEndDate() {
		return pstrEndDate;
	}

	/**
	 * アサイン者を設定します
	 * @param astrAssigner アサイン者
	 */
	public void setAssigner( String astrAssigner ) {
		pstrAssigner = astrAssigner;
	}

	/**
	 * アサイン者を取得します
	 * @return String アサイン者
	 */
	public String getAssigner() {
		return pstrAssigner;
	}

	/**
	 * 学習権限を設定します
	 * @param astrLearnAuthority 学習権限
	 */
	public void setLearnAuthority( String astrLearnAuthority ) {
		pstrLearnAuthority = astrLearnAuthority;
	}

	/**
	 * 学習権限を取得します
	 * @return String 学習権限
	 */
	public String getLearnAuthority() {
		return pstrLearnAuthority;
	}

	/**
	 * 管理権限を設定します
	 * @param astrManagementAuthority 管理権限
	 */
	public void setManagementAuthority( String astrManagementAuthority ) {
		pstrManagementAuthority = astrManagementAuthority;
	}

	/**
	 * 管理権限を取得します
	 * @return String 管理権限
	 */
	public String getManagementAuthority() {
		return pstrManagementAuthority;
	}

	/**
	 * 処理モードを設定します
	 * @param astrMode 処理モード
	 */
	public void setMode( String astrMode ) {
		pstrMode = astrMode;
	}

	/**
	 * メール送信の結果を取得します
	 * @return int 結果
	 */
	public int getMailResult() {
		return pintMailResult;
	}

	/**
	 * メール送信の結果を設定します
	 * @param intMailResult メール送信結果
	 */
	public void setMailResult( int intMailResult ) {
		pintMailResult = intMailResult;
	}

	/**
	 * メール送信NG情報を取得します
	 * @return ArrayList メール送信NG情報<BR>
	 *                   メール送信に失敗したUserIDリストが返ります。<BR>
	 *                   メール送信をしなかった場合はnullが返ります。
	 */
	public ArrayList getNgMailList() {
		return pobjNgMailList;
	}

	/**
	 * メール送信NG情報を設定します
	 * @param objNgMailList メール送信NG情報
	 */
	public void setNgMailList( ArrayList objNgMailList ) {
		pobjNgMailList = objNgMailList;
	}

	/**
	 * メール未送信情報を取得します
	 * @return ArrayList メール未送信情報<BR>
	 *                   メールを送信しなかったUserIDリストが返ります。<BR>
	 *                   メール送信がメール送信が行われなかった場合はnullが返ります。
	 */
	public ArrayList getNotSendMailList() {
		return pobjNotSendMailList;
	}

	/**
	 * メール未送信情報を設定します
	 * @param objNotSendMailList メール未送信情報
	 */
	public void setNotSentMailList( ArrayList objNotSendMailList ) {
		pobjNotSendMailList = objNotSendMailList;
	}

	/**
	 * アサインされたユーザのリストを取得します。
	 * @return Vector アサインユーザリスト<BR>
	 *                グループにLOをアサインした場合、グループ配下のユーザで
	 *                LOをアサインされたユーザIDリストが返ります。
	 */
	public Vector getAssignUserList() {
		return pvecAssignUserList;
	}

	/**
	 * アサインされたユーザのリストを設定します
	 * @param vecAssignUserList ユーザリスト
	 */
	public void setAssignUserList( Vector vecAssignUserList ) {
		pvecAssignUserList = vecAssignUserList;
	}

	/**
	 * アサインされたユーザをリストに追加します
	 * @param strUserID アサインされたユーザID
	 */
	public void addAssignUser( String strUserID ) {
		pvecAssignUserList.add( strUserID );
	}


	/**
	 * 学習終了日時を取得します。
	 * @return 学習終了日時。設定されていない場合はnull。
	 */
	public Date getClosingDate() {
		return closingDate;
	}

	/**
	 * 学習開始日時を取得します。
	 * @return 学習開始日時。設定されていない場合はnull。
	 */
	public Date getOpeningDate() {
		return openingDate;
	}

	/**
	 * 学習回数を取得します。
	 * @return 学習回数。設定されていない場合はnull。
	 */
	public String getStudyCount() {
		return studyCount;
	}

	/**
	 * 学習制限回数を取得します。
	 * @return 学習制限回数。設定されていない場合はnull。
	 */
	public String getStudyLimitCount() {
		return studyLimitCount;
	}

	/**
	 * 学習終了日時を設定します。
	 * @param closingDate 学習終了日時。
	 */
	public void setClosingDate(Date closingDate) {
		this.closingDate = closingDate;
	}

	/**
	 * 学習開始日時を設定します。
	 * @param openingDate 学習開始日時。
	 */
	public void setOpeningDate(Date openingDate) {
		this.openingDate = openingDate;
	}

	/**
	 * 学習回数を設定します。
	 * @param studyCount 学習回数。
	 */
	public void setStudyCount(String studyCount) {
		this.studyCount = studyCount;
	}

	/**
	 * 学習制限回数を設定します。
	 * @param studyLimitCount 学習制限回数。
	 */
	public void setStudyLimitCount(String studyLimitCount) {
		this.studyLimitCount = studyLimitCount;
	}
}

