/*
 * LineChartInfo.java
 *
 * Created on 3 de febrero de 2005, 10:32 AM
 */

package co.com.ddt.chart.line;

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

import co.com.ddt.chart.ChartInfo;

/**
 * Esta clase encapsula la descripci&oacute;n de una gr&aacute;fica
 * de tipo lineal compuesta por varias series.
 * @author Mario Linares Vasquez
 */
public class LineChartInfo extends ChartInfo{
    
   
    
    /**
     * Constructor por omisi&oacute;n
     */
    public LineChartInfo() {
        super();
        this.setType(ChartInfo.LINE);
    }
    
    
    /**
     * Este m&eacute;todo agrega una serie vac&iacute;a a la gráfica.
     * @param serieName Nombre de la serie
     * @return Bandera que identifica si el proceso f&uacute;e exitoso
     */    
    public boolean addEmptySerie(String serieName){
        
        boolean flag = true;
        try{
        
            this.series.put(serieName , new LineChartSerie(serieName));
        }
        catch(Exception e){
            
            flag = false;
        }
        return flag;
    }
    
    
    /**
     * Este método agrega un pareja (x,y) a una serie espec&iacute;fica
     * @param serieName Nombre de la serie
     * @param x Valor en x
     * @param y Valor en y
     * @return Identificador de exito del proceso
     */    
    public boolean addValue2Serie(String serieName, double x, double y){
        boolean flag = true;
        try{
            LineChartSerie serie = (LineChartSerie)this.series.get(serieName);
            serie.addValue(new Double(x), new Double(y));
        }
        catch(Exception e){
            flag = false;
        }
        return flag;
    }
    
    /**
     * Este m&eacute;todo retorna las series de la gr&aacute;fica en formato
     * de <CODE>Hashtable</CODE>:
     * - key: nombre de la serie
     * - value: serie instancia de <CODE>LineChartSerie</CODE>
     * @return Series de la gr&aacute;fica
     */    
    public Hashtable getSeries(){
        return this.series;
    
    }
    
    /**
     * M&eacute;todo consultor para un serie espec&iacute;fica
     * @param serieName Nombre de la serie
     * @return Serie encontrada
     */    
    public LineChartSerie getSerie(String serieName){
        
        LineChartSerie serie = null;        
        serie = (LineChartSerie)this.series.get(serieName);
        return serie;
        
    }
    
    
    
}
// “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/.”