package com.mx.dla.dda.reporte.cpview.dtos;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;

public class CostPerViewEstudioAnualDatosDTO   implements Serializable {

	private String estudio;
	private Double amortizacionAnio1;
	private Double visualizacionesAnio1;
	private Double costoVisualizacionAnio1;
	private Double amortizacionAnio2;
	private Double visualizacionesAnio2;
	private Double costoVisualizacionAnio2;
	private Double amortizacionAnio3;
	private Double visualizacionesAnio3;
	private Double costoVisualizacionAnio3;
	private Double amortizacionAnio4;
	private Double visualizacionesAnio4;
	private Double costoVisualizacionAnio4;
	private Double amortizacionAnio5;
	private Double visualizacionesAnio5;
	private Double costoVisualizacionAnio5;
	private Double amortizacionTotal;
	private Double visualizacionesTotal;
	private Double costoVisualizacionTotal;
	private Long   nivel;


	public String getEstudio() {
		return estudio;
	}

	public void setEstudio(String estudio) {
		this.estudio = estudio;
	}

	public Double getAmortizacionAnio1() {
		return amortizacionAnio1;
	}

	public void setAmortizacionAnio1(Double amortizacionAnio1) {
		this.amortizacionAnio1 = amortizacionAnio1;
	}

	public Double getVisualizacionesAnio1() {
		return visualizacionesAnio1;
	}

	public void setVisualizacionesAnio1(Double visualizacionesAnio1) {
		this.visualizacionesAnio1 = visualizacionesAnio1;
	}

	public Double getCostoVisualizacionAnio1() {
		return costoVisualizacionAnio1;
	}

	public void setCostoVisualizacionAnio1(Double costoVisualizacionAnio1) {
		this.costoVisualizacionAnio1 = costoVisualizacionAnio1;
	}

	public Double getAmortizacionAnio2() {
		return amortizacionAnio2;
	}

	public void setAmortizacionAnio2(Double amortizacionAnio2) {
		this.amortizacionAnio2 = amortizacionAnio2;
	}

	public Double getVisualizacionesAnio2() {
		return visualizacionesAnio2;
	}

	public void setVisualizacionesAnio2(Double visualizacionesAnio2) {
		this.visualizacionesAnio2 = visualizacionesAnio2;
	}

	public Double getCostoVisualizacionAnio2() {
		return costoVisualizacionAnio2;
	}

	public void setCostoVisualizacionAnio2(Double costoVisualizacionAnio2) {
		this.costoVisualizacionAnio2 = costoVisualizacionAnio2;
	}

	public Double getAmortizacionAnio3() {
		return amortizacionAnio3;
	}

	public void setAmortizacionAnio3(Double amortizacionAnio3) {
		this.amortizacionAnio3 = amortizacionAnio3;
	}

	public Double getVisualizacionesAnio3() {
		return visualizacionesAnio3;
	}

	public void setVisualizacionesAnio3(Double visualizacionesAnio3) {
		this.visualizacionesAnio3 = visualizacionesAnio3;
	}

	public Double getCostoVisualizacionAnio3() {
		return costoVisualizacionAnio3;
	}

	public void setCostoVisualizacionAnio3(Double costoVisualizacionAnio3) {
		this.costoVisualizacionAnio3 = costoVisualizacionAnio3;
	}

	public Double getAmortizacionAnio4() {
		return amortizacionAnio4;
	}

	public void setAmortizacionAnio4(Double amortizacionAnio4) {
		this.amortizacionAnio4 = amortizacionAnio4;
	}

	public Double getVisualizacionesAnio4() {
		return visualizacionesAnio4;
	}

	public void setVisualizacionesAnio4(Double visualizacionesAnio4) {
		this.visualizacionesAnio4 = visualizacionesAnio4;
	}

	public Double getCostoVisualizacionAnio4() {
		return costoVisualizacionAnio4;
	}

	public void setCostoVisualizacionAnio4(Double costoVisualizacionAnio4) {
		this.costoVisualizacionAnio4 = costoVisualizacionAnio4;
	}

	public Double getAmortizacionAnio5() {
		return amortizacionAnio5;
	}

	public void setAmortizacionAnio5(Double amortizacionAnio5) {
		this.amortizacionAnio5 = amortizacionAnio5;
	}

	public Double getVisualizacionesAnio5() {
		return visualizacionesAnio5;
	}

	public void setVisualizacionesAnio5(Double visualizacionesAnio5) {
		this.visualizacionesAnio5 = visualizacionesAnio5;
	}

	public Double getCostoVisualizacionAnio5() {
		return costoVisualizacionAnio5;
	}

	public void setCostoVisualizacionAnio5(Double costoVisualizacionAnio5) {
		this.costoVisualizacionAnio5 = costoVisualizacionAnio5;
	}
	
	public Double getAmortizacionTotal() {
		return amortizacionTotal;
	}

	public void setAmortizacionTotal(Double amortizacionTotal) {
		this.amortizacionTotal = amortizacionTotal;
	}

	public Double getVisualizacionesTotal() {
		return visualizacionesTotal;
	}

	public void setVisualizacionesTotal(Double visualizacionesTotal) {
		this.visualizacionesTotal = visualizacionesTotal;
	}

	public Double getCostoVisualizacionTotal() {
		return costoVisualizacionTotal;
	}

	public void setCostoVisualizacionTotal(Double costoVisualizacionTotal) {
		this.costoVisualizacionTotal = costoVisualizacionTotal;
	}

	public Long getNivel() {
		return nivel;
	}

	public void setNivel(Long nivel) {
		this.nivel = nivel;
	}
	
	public String[] getFieldsAsRow() throws IllegalArgumentException, IllegalAccessException{
		Field[] fields = this.getClass().getDeclaredFields();
		String[] row = new String[fields.length];
		
		for(int i = 0; i < fields.length; i ++)
			row[i] = fields[i].get(this) != null ? fields[i].get(this).toString() : "0.0";

		return row;
	}

}
