/*
* Copyright 2011 E.J.I.E., S.A.
*
* Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en
*
* http://ec.europa.eu/idabc/eupl.html
*
* Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
* el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,
* SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
* Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
* que establece la Licencia.
*/
package com.ejie.ad74a.model;

import java.util.ArrayList;
import java.util.Date;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import com.ejie.ad74a.util.constantes.ProcedimientosEnum;
import com.ejie.ad74a.util.constantes.TareasEnum;
import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * Bean contenedor de las propiedades que utiliza el componente table.
 * 
 * @author UDA
 *
 * @param <T> Tipo de bean que se va a representar en el table.
 */
@XmlRootElement(name = "DatosTarea")
public class DatosTareaEstudioBaja extends DatosTareaEstudio {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8454434710807630860L;

	// datos concesion
	private Date fConcesionBaja;
	private Long idMotivoBaja;
	private String observaciones;

	// datos denegacion
	private Date fDenegacionBaja;
	private ArrayList<String> motivoDenegacion;
	private String otroMotivoDenegacionStr;

	/**
	 * Constructor.
	 */
	public DatosTareaEstudioBaja() {
		super(ProcedimientosEnum.BAJA.getId());
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	@XmlElement(name = "fDenegacionBaja", nillable = true)
	public Date getfDenegacionBaja() {
		return fDenegacionBaja;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfDenegacionBaja(Date fDenegacionBaja) {
		this.fDenegacionBaja = fDenegacionBaja;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	@XmlElement(name = "fConcesionBaja", nillable = true)
	public Date getfConcesionBaja() {
		return fConcesionBaja;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfConcesionBaja(Date fConcesionBaja) {
		this.fConcesionBaja = fConcesionBaja;
	}

	@XmlElement(name = "idMotivoBaja", nillable = true)
	public Long getIdMotivoBaja() {
		return idMotivoBaja;
	}

	public void setIdMotivoBaja(Long idMotivoBaja) {
		this.idMotivoBaja = idMotivoBaja;
	}

	@XmlElement(name = "observaciones", nillable = true)
	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public ArrayList<String> getMotivoDenegacion() {
		return motivoDenegacion;
	}

	public void setMotivoDenegacion(ArrayList<String> motivoDenegacion) {
		this.motivoDenegacion = motivoDenegacion;
	}

	public String getOtroMotivoDenegacionStr() {
		return otroMotivoDenegacionStr;
	}

	public void setOtroMotivoDenegacionStr(String otroMotivoDenegacionStr) {
		this.otroMotivoDenegacionStr = otroMotivoDenegacionStr;
	}

}