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

//
// 個別ログ進捗状況一覧CSV出力用・集計結果格納クラス
//
//
//  変更履歴
// 		 2004.01.08 新規作成		S.Takahashi
//
package jp.co.ntt.lms.xms.logsumup;

import java.util.ArrayList;
import java.util.List;

import jp.co.ntt.lms.xms.framework.XmsException;
import jp.co.ntt.lms.xms.framework.base.LogResult;

/**
 * 個別ログ進捗状況一覧CSV出力用・集計結果格納クラス。<br>
 *
 * @author S.Takahashi
 */
public class IndividualLogGroupProgressResult extends LogResult {

    /**
     * ユーザー別ログ。<br>
     */
    private List listIndividualLogGroupProgressUser;

    /**
     * ＬＯ名<br>
     */
    private String strLOName = "";
	/**
	 * 外部ＬＯＩＤ<br>
	 */
	private String strForeignLOID = "";

    /**
     * セクション名<br>
     */
    private String strSectionName = "";

    /**
     * グループ名<br>
     */
    private String strGroupName = "";

    /**
     * グループ外部ID<br>
     */
    private String strGroupForeignId = "";

    /**
     * コンストラクタ。<br>
     * 内部リストならびにカーソル位置の初期化を実施する。
     */
    public IndividualLogGroupProgressResult() {
        initialize();
    }

    /**
     * 集計結果オブジェクトの数
     * @return int オブジェクト数
     */
    public int size() {
        return listIndividualLogGroupProgressUser.size();
    }

    /**
     * 検索結果をすべて削除する。<br>
     * 内部リストならびにカーソル位置の初期化を実施する。
     */
    void clearLog() {
        initialize();
    }

    /**
     * 内部リストならびにカーソル位置の初期化を実施する。<br>
     */
    protected void initialize() {
        // カーソル位置の初期化。
        super.initialize();
        listIndividualLogGroupProgressUser = new ArrayList();
    }

    /**
     * 検索結果を１行追加する。<br>
     * 内部に保持しているリストの最後にそれぞれ追加する。<br>
     *
     * @param dat ユーザ別集計結果格納データクラス
     */

    protected void addLog(
        IndividualLogGroupProgressUser dat)
        throws XmsException {
        // ユーザ別集計結果格納データクラスを設定する。
        listIndividualLogGroupProgressUser.add(dat);
    }


    /**
    *ＬＯ名の参照を行う。
    *
    *@return strLOName ＬＯ名
    */
    public String getLOName() {
        return this.strLOName;
    }

    /**
    *ＬＯ名の設定を行う。
    *
    *@param newValue
    */
    public void setLOName(String newValue) {
        this.strLOName = newValue;
    }
	/**
	*外部ＬＯＩＤの参照を行う。
	*
	*@return strForeignLOID 外部ＬＯＩＤ
	*/
	public String getForeignLOID() {
		return this.strForeignLOID;
	}

	/**
	*外部ＬＯＩＤの設定を行う。
	*
	*@param newValue
	*/
	public void setForeignLOID(String newValue) {
		this.strForeignLOID = newValue;
	}
    /**
    *セクション名の参照を行う。
    *
    *@return strSectionName セクション名
    */
    public String getSectionName() {
        return this.strSectionName;
    }

    /**
    *セクション名の設定を行う。
    *
    *@param newValue
    */
    public void setSectionName(String newValue) {
        this.strSectionName = newValue;
    }

    /**
    *グループ名の参照を行う。
    *
    *@return strGroupName グループ名
    */
    public String getGroupName() {
        return this.strGroupName;
    }

    /**
    *グループ名の設定を行う。
    *
    *@param newValue
    */
    public void setGroupName(String newValue) {
        this.strGroupName = newValue;
    }

    /**
    *グループ外部IDの参照を行う。
    *
    *@return strGroupForeignId グループ外部ID
    */
    public String getGroupForeignId() {
        return this.strGroupForeignId;
    }

    /**
    *グループ外部IDの設定を行う。
    *
    *@param newValue
    */
    public void setGroupForeignId(String newValue) {
        this.strGroupForeignId = newValue;
    }

    /**
     * カーソルが指し示す現在行を取得する。
     * @return 現在行の個別リスト。
     * @throws ArrayIndexOutOfBoundsException カーソルの位置が内部リストの範囲外の場合。
     */
    public IndividualLogGroupProgressUser getIndividualLogGroupProgressUserList() throws ArrayIndexOutOfBoundsException {
        IndividualLogGroupProgressUser dat = null;
        dat = (IndividualLogGroupProgressUser) listIndividualLogGroupProgressUser.get(getCursorPos());
        return dat;
    }
}
