/** @author enriquetunon */

package Clases;

import java.io.Serializable;

public class PobBac implements Serializable {

    private String nombrePob;
    private Fecha fechaIni;
    private Fecha fechaFin;
    private int numBacIni;
    private float temp;

    public enum LUMINOSIDAD {
        Alta, Media, Baja;
    }
    private LUMINOSIDAD luz;
    private Comida comidaBac;

    public PobBac() {
        this.nombrePob = null;
        this.fechaIni = new Fecha(0, 0, 0);
        this.fechaFin = new Fecha(0, 0, 0);
        this.numBacIni = 0;
        this.temp = 0;
        this.luz = LUMINOSIDAD.Baja;
        comidaBac = new Comida(0, 0, 0);
    }

    public PobBac(String nombrePob,Fecha fechaIni, Fecha fechaFin, int numBacIni, float temp, String luminosidad, Comida comidaBac) {
        this.nombrePob = nombrePob;
        this.fechaIni = fechaIni;
        this.fechaFin = fechaFin;
        this.numBacIni = numBacIni;
        this.temp = temp;
        if (luminosidad.compareTo("Baja") == 0) {
            this.luz = LUMINOSIDAD.Baja;
        }
        if (luminosidad.compareTo("Media") == 0) {
            this.luz = LUMINOSIDAD.Baja;
        }
        if (luminosidad.compareTo("Alta") == 0) {
            this.luz = LUMINOSIDAD.Alta;
        }
        this.comidaBac= comidaBac;
    }
    
    public PobBac(String nombrePob, Fecha fechaIni, Fecha fechaFin, int numBacIni, float temp, LUMINOSIDAD luz, Comida comidaBac) {
        this.nombrePob = nombrePob;
        this.fechaIni = fechaIni;
        this.fechaFin = fechaFin;
        this.numBacIni = numBacIni;
        this.temp = temp;
        this.luz=luz;
        this.comidaBac = comidaBac;
    }

    public String getNombrePob() {
        return this.nombrePob;
    }

    public Fecha getFechaIni() {
        return this.fechaIni;
    }
    
    public int getFechaIniDia() {
        return this.fechaIni.getDia();
    }
    
    public int getFechaIniMes() {
        return this.fechaIni.getMes();
    }
    
    public int getFechaIniAno() {
        return this.fechaIni.getAno();
    }

    public Fecha getFechaFin() {
        return this.fechaFin;
    }
    
    public int getFechaFinDia() {
        return this.fechaFin.getDia();
    }
    
    public int getFechaFinMes() {
        return this.fechaFin.getMes();
    }
    
    public int getFechaFinAno() {
        return this.fechaFin.getAno();
    }

    public int getNumBacIni() {
        return this.numBacIni;
    }

    public float getTemp() {
        return this.temp;
    }

    public LUMINOSIDAD getLuz() {
        return this.luz;
    }

    public Comida getComidaBac() {
        return this.comidaBac;
    }
    
    public int getComBacIni() {
        return this.comidaBac.getCantIni();
    }
    
    public int getComBacFin() {
        return this.comidaBac.getCantFin();
    }
    
    public int getComBacInc() {
        return this.comidaBac.getIncremento();
    }

    public void setNombrePob(String nombrePob) {
        this.nombrePob = nombrePob;
    }

    public void setFechaIni(Fecha fechaIni) {
        this.fechaIni = fechaIni;
    }
    
    public void setFechaIniDia(int fechaIniDia) {
        this.fechaIni.setDia(fechaIniDia);
    }
    
    public void setFechaIniMes(int fechaIniMes) {
        this.fechaIni.setMes(fechaIniMes);
    }
    
    public void setFechaIniAno(int fechaIniAno) {
        this.fechaIni.setAno(fechaIniAno);
    }

    public void setFechaFin(Fecha fechaFin) {
        this.fechaFin = fechaFin;
    }
    
    public void setFechaFinDia(int fechaFinDia) {
        this.fechaFin.setDia(fechaFinDia);
    }
    
    public void setFechaFinMes(int fechaFinMes) {
        this.fechaFin.setMes(fechaFinMes);
    }
    
    public void setFechaFinAno(int fechaFinAno) {
        this.fechaFin.setAno(fechaFinAno);
    }

    public void setNumBacIni(int numBacIni) {
        this.numBacIni = numBacIni;
    }

    public void setTemp(float temp) {
        this.temp = temp;
    }

    public void setLuz(String luz) {
        if (luz.compareTo("Baja") == 0) {
            this.luz = LUMINOSIDAD.Baja;
        }
        if (luz.compareTo("Media") == 0) {
            this.luz = LUMINOSIDAD.Baja;
        }
        if (luz.compareTo("Alta") == 0) {
            this.luz = LUMINOSIDAD.Alta;
        }
    }
    
    public void setLuz2(LUMINOSIDAD luz) {
        this.luz=luz;
    }

    public void setComidaBac(Comida comidaBac) {
        this.comidaBac = comidaBac;
    }
    
    public void setComBacIni(int comBacIni) {
        this.comidaBac.setCantIni(comBacIni);
    }
    
    public void setComBacFin(int comBacFin) {
        this.comidaBac.setCantFin(comBacFin);
    }
    
    public void setComBacInc(int comBacInc) {
        this.comidaBac.setIncremento(comBacInc);
    }

    @Override
    public String toString() {
        return "Nombre de la población: " + nombrePob + "\nFecha de inicio de cultivo: " + fechaIni + "\nFecha de final de cultivo: " + fechaFin + "\nNúmero de bacterias incial: " + numBacIni + "\nTemperatura: " + temp + "\nLuminosidad: " + luz + "\nComida Bacterias: " +comidaBac;
    }
    
}
