/*
 * BarChartInfo.java
 *
 * Created on 3 de febrero de 2005, 10:33 AM 
 */

package co.com.ddt.chart.bar;

import co.com.ddt.chart.ChartInfo;

import java.util.Vector;
import java.util.Enumeration;

/**
 * Esta clase encapsula la informaci&oacute;n que describe una gráfica
 * de barras m&uacute;ltiple.
 * @author Mario Linares Vásquez
 */
public class BarChartInfo extends ChartInfo{
    
   /**
     * Categor&iacute;as que identifican los valores de a visualizar en la gr&aacute;fica
   */
    private Vector categoryNames;
   
    /**
     * Constructor por omisi&oacute;n
     */
    public BarChartInfo() {
         super();
        this.setType(ChartInfo.BAR);
        this.categoryNames = new Vector();
    }
    
     /**
     *  M&eacute;todo consultor para el atributo categoryNames.
     * @return Valor del atributo categoryNames.
     */
    public Vector getCategoryNames() {
        return categoryNames;
    }    
    
    /**
     * M&eacute;todo consultor para los nombre de las
     * categor&iacute;s en formato de arreglo.
     * @return Categor&iacute;s del chart en formato de arreglo
     */    
    public String[] getCategoryNamesAsStringArray(){
        String[] catNames = new String[this.categoryNames.size()];
        Enumeration namesEnum = this.categoryNames.elements();
        int count = 0;
        while(namesEnum.hasMoreElements()){
            catNames[count] = (String)namesEnum.nextElement();
            count++;
        }
        return catNames;
        
    }
   /**
     *  M&eacute;todo modificador para el atributo categoryNames.
     * @param categoryNames Nuevo valor para el atributo categoryNames.
     */
    public void setCategoryNames(java.util.Vector categoryNames) {
        this.categoryNames = categoryNames;
        
    }    
    
     /**
     * M&eacute;todo para agregar una nueva categor&iacute;a a la gr&aacute;fica
     * @param categoryName Nueva categor&iacute;a
     */    
    public void addCategoryName(String categoryName){
        this.categoryNames.add(categoryName);
    }
    
    /**
     * M&eacute;todo para consultar la iesima categor&iacute;a de la gr&aacute;fica
     * @param index Indice de la categor&iacute;a a consultar
     * @return Nombre de categor&iacute;a
     */    
    public String getCategoryName(int index){
        return (String)this.categoryNames.elementAt(index);
    }
    
    /**
     * M&eacute;todo consultor para el n&uacute;mero de categori&aacute;s del chart
     * @return N&uacute;mero de categori&aacute;s
     */    
    public int getCategoryNamesSize(){
        return this.categoryNames.size();
    }
    
}

// “Copyright (C) <2008> Multilateral Investment Fund of the Inter-American Development Bank.
// Este archivo es parte de <ICT4BUS-PVL>
// < ICT4BUS-PVL > es software libre: usted puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General GNU publicada por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o (a su elección) cualquier versión posterior.
// < ICT4BUS-PVL > se distribuye con la esperanza de que sea útil, pero SIN GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO. 
// Consulte los detalles de la Licencia Pública General GNU para obtener una información más detallada. 
// Debería haber recibido una copia de la Licencia Pública General GNU junto a este programa. En caso contrario, consulte http://www.gnu.org/licenses/.”