/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//LoInfo オブジェクトリスト生成クラス
//
//変更履歴
//2005.02.09  新規作成  森　智志
//
//機能
//
//manifestInfoオブジェクトのリストクラスです。
//
/////////////////////////////////////////////////////////////////
package jp.co.ntt.lms.lo.lom.learnableinfo;

import java.util.*;



/**
 * manifestInfoオブジェクトのリストクラスです。
 * @author s-mori
 * @version 1.0
 */
public class ManifestList {

	private List manifestList = null;
	private int index = -1;
	
	/**
	 * コンストラクタ。
	 *
	 */
	public ManifestList(){
		this.manifestList = new ArrayList();		
	}

	/**
	 * ManifestInfoオブジェクトをリストに追加します。
	 * @param info
	 */
	public void add(ManifestInfo info){
		if(info != null){
			this.manifestList.add(info);
		}
	}

	/**
	 * 次のmanifestInfoオブジェクトを取得します。
	 * @return 次のオブジェクトが存在すればtrue
	 */
	public boolean next(){
		index++;
		return (index < manifestList.size());
	}
	
	/**
	 * 現在のインデックスに対応するManifestInfoオブジェクトを返します。
	 * @return 現在のインデックスに対応するManifestInfoオブジェクト
	 */
	public ManifestInfo get(){
		return this.get(this.index);
	}
	
	/**
	 * 指定したインデックスに相当するManifestInfoオブジェクトを返します。
	 * @param i インデックスばんごう
	 * @return インデックス番号に相当するManifestInfoオブジェクト
	 */
	public ManifestInfo get(int i){
		return (ManifestInfo)manifestList.get(i);
	}

	/**
	 * ManifestInfoのリストを返します。
	 * @return ManifestInfoのリスト
	 */
	public List getManifestList(){
		return manifestList;
	}
	
	/**
	 * リストに含まれるManifestInfoオブジェクトの個数を返します。
	 * @return リストに含まれる個数
	 */
	public int size(){
		return manifestList.size();
	}
	
}
