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

//
//	メール送信機能 XMO メールテンプレート一覧クラス（VO）
//			変更履歴
//				2004.01.08	新規作成	工藤明洋

package jp.co.ntt.lms.xmo.Mail;

import java.io.Serializable;


/**
 * メールテンプレートリストクラスです。<BR>
 * このクラスはメールテンプレートの一覧情報を保持するValueObjectです。
 */
public class TemplateListVO implements Serializable, Comparable {

	// テンプレートファイルパス値定義
	private String m_TemplatePath = "";
	
	// テンプレートファイル名定義
	private String m_TemplateFileName = "";

	// タイトル値定義
	private String m_Title = "";

	// 送信元値定義
	private long m_TimeStump = 0;

	// 更新フラグ
	private boolean m_bUpdFlag = false;

	// エラーコード定義
	private int m_ErrCode = MailConst.RESULT_SUCCESS;

	// エラーメッセージ定義
	private String m_ErrMsg = "";

	// コンストラクタ
	public TemplateListVO()
	{
	}

	// ----- アクセッサ定義（データ取得系操作） -----
	// テンプレートファイルパス取得
	/**
	 * テンプレートファイルパス取得
	 * @return String テンプレートファイルパス名
	 */
	public String getTemplatePath() {
		return m_TemplatePath;
	}
	/**
	 * テンプレートファイル名取得
	 * @return String テンプレートファイル名
	 */
	public String getTemplateFileName() {
		return m_TemplateFileName;
	}
	/**
	 * タイトル取得
	 * @return String タイトル
	 */
	public String getTitle() {
		return m_Title;
	}
	/**
	 * タイムスタンプ取得
	 * @return long タイムスタンプ値
	 */
	public long getLastModified() {
		return m_TimeStump;
	}
	/**
	 * エラーコード取得
	 * @return int エラーコード取得
	 */
	public int getErrCode() {
		return m_ErrCode;
	}
	/**
	 * エラーメッセージ取得
	 * @return String エラーメッセージ取得
	 */
	public String getErrMsg() {
		return m_ErrMsg;
	}

	// ----- アクセッサ定義（データ設定系操作） -----
	/**
	 * テンプレートファイルパス設定
	 * @param String strFilePath テンプレートファイルパス名
	 * @return なし
	 */
	public void setTemplatePath(String strFilePath)
	{
		m_TemplatePath = strFilePath;
		return;
	}
	/**
	 * テンプレートファイルパス設定
	 * @param String strFileName テンプレートファイル名
	 * @return なし
	 */
	public void setTemplateFileName(String strFileName)
	{
		m_TemplateFileName = strFileName;
		return;
	}
	/**
	 * タイトル設定
	 * @param String strTitle タイトル名
	 * @return なし
	 */
	public void setTitle(String strTitle) {
		m_Title = strTitle;
		return;
	}
	/**
	 * タイムスタンプ設定
	 * @param long lTimestump タイムスタンプ値
	 * @return なし
	 */
	public void setLastModified(long lTimestump) {
		m_TimeStump = lTimestump;
		m_bUpdFlag = true;
		return;
	}
	/**
	 * エラーコード設定
	 * @param int iErrCode エラーコード
	 * @return なし
	 */
	public void setErrCode(int iErrCode) {
		m_ErrCode = iErrCode;
		return;
	}
	/**
	 * エラーメッセージ設定
	 * @param String strErrMsg エラーメッセージ
	 * @return なし
	 */
	public void setErrMsg( String strErrMsg ) {
		m_ErrMsg = strErrMsg;
		return;
	}

	/**
	 * テンプレートリストの変更判定
	 * @return boolean true：変更あり、false：変更なし
	 */
	public boolean isUpdate() {
		return m_bUpdFlag;
	}

	/**
	 * 他のTemplateListVOオブジェクトと順序比較する。<br>
	 * タイトルを比較して順序付けする。
	 * @return -1  自身が先になる場合。<br>
	 * 　　　　　0  同じ場合<br>
	 *           1  自身が後になる場合。
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 * @throws ClassCastException oがTemplateListVOのオブジェクトではない場合
	 */
	public int compareTo(Object o) {
		TemplateListVO other = null;
		String otherTitle = null;
		String thisTitle = null;
		int compareResult = 0;
		
		other = (TemplateListVO)o;
		if ( this != other ) {
			otherTitle = other.getTitle();
			thisTitle = this.getTitle();
			compareResult = thisTitle.compareTo(otherTitle);

		}
		return compareResult;
	}
}