/*
 * HelpItemList.java
 *
 * Created on 20 de septiembre de 2004, 12:35 PM
 */

package com.fenalco.entities;

import java.util.Hashtable;
import java.util.Vector;

import com.fenalco.utilities.database.QueryException;
import com.fenalco.utilities.database.SQLUtilities;

/**
 * Esta clase representa una lista de items de ayuda
 * 
 * @author Mario Linares Vásquez
 */

public class HelpItemList
{

	/**
	 * Es un Hashtable que tiene como llave un int que representa el id del
	 * item, el objeto es de tipo <CODE>HelpItem</CODE>
	 */
	private Hashtable items;

	/**
	 * Constructor por defecto de la clase HelpItemList
	 */
	public HelpItemList( )
	{
		// TODO: implement
		this.items = new Hashtable();
		this.loadData();
	}

	/**
	 * Hace una consulta en la tabla ayuda por medio del método <CODE>query
	 * </CODE> de la clase <CODE>SqlUtilities</CODE> para cargar la lista de
	 * parámetros y llenar la variable items con los items de ayuda del sistema
	 * 
	 * @return booleano que indica si la operación fué exitosa
	 */
	public boolean loadData( )
	{
		try
		{
			Vector results = new Vector();
			results = SQLUtilities.query("SELECT ayud_id FROM ayuda;");
			for( int i = 0; i < results.size(); i++ )
			{
				Hashtable temp = new Hashtable();
				temp = (Hashtable) results.elementAt(i);
				Integer key = (Integer) temp.get("ayud_id");
				this.items.put(key, new HelpItem(key.intValue()));
			}
		}
		catch (QueryException qe)
		{
			System.out.println("QueryException en HelpItemList-->"
					+ qe.getMessage());
			return false;
		}
		return true;
	}

	/**
	 * Consultor para el atributo items.
	 * 
	 * @return Valor del atributo items.
	 */
	public Hashtable getItems( )
	{
		return items;
	}

	/**
	 * Modificador para el atributo items.
	 * 
	 * @param items
	 *            Nuevo valor para el atributo items.
	 */
	public void setItems( Hashtable items )
	{
		this.items = items;
	}

}