package com.ejie.ad74a.model;

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

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.ejie.x38.serialization.JsonDateTimeDeserializer;
import com.ejie.x38.serialization.JsonDateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * Emergencias generated by UDA, 05-jul-2023 13:01:03.
 * 
 * @author UDA
 */

public class Emergencias implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idEmergencia27;
	private String identificadorSolicitante;
	private MaestroEmergencias maestroEmergencias;
	private Date fEmergencia27;
	private Long idSolicitante27;
	private Date fAlta27;
	private String usuAlta27;
	private String nombreSolicitante;
	private Solicitantes solicitante;
	private Direcciones direcciones;
	private List<RecMovilEmer> recMovilEmers = new ArrayList<RecMovilEmer>();

	/* Campos auxiliares */
	private Date fEmergencia27Desde;
	private Date fEmergencia27Hasta;

	/**
	 * Method 'Emergencias'.
	 */
	public Emergencias() {
	}

	/**
	 * Method 'Emergencias'.
	 * 
	 * @param idEmergencia27 Long
	 */
	public Emergencias(Long idEmergencia27) {
		this.idEmergencia27 = idEmergencia27;
	}

	/**
	 * Method 'Emergencias'.
	 * 
	 * @param idEmergencia27     Long
	 * @param fEmergencia27      Date
	 * @param idSolicitante27    Long
	 * @param fAlta27            Date
	 * @param usuAlta27          String
	 * @param dispositivos       Dispositivos
	 * @param maestroEmergencias MaestroEmergencias
	 */
	public Emergencias(Long idEmergencia27, Date fEmergencia27, Long idSolicitante27, Date fAlta27, String usuAlta27,
			MaestroEmergencias maestroEmergencias) {
		this.idEmergencia27 = idEmergencia27;
		this.maestroEmergencias = maestroEmergencias;
		this.fEmergencia27 = fEmergencia27;
		this.idSolicitante27 = idSolicitante27;
		this.fAlta27 = fAlta27;
		this.usuAlta27 = usuAlta27;
	}

	/**
	 * Method 'Emergencias'.
	 * 
	 * @param idEmergencia27     Long
	 * @param fEmergencia27      Date
	 * @param idSolicitante27    Long
	 * @param fAlta27            Date
	 * @param usuAlta27          String
	 * @param dispositivos       Dispositivos
	 * @param maestroEmergencias MaestroEmergencias
	 * @param recMovilEmers      List<RecMovilEmer>
	 */
	public Emergencias(Long idEmergencia27, Date fEmergencia27, Long idSolicitante27, Date fAlta27, String usuAlta27,
			MaestroEmergencias maestroEmergencias, List<RecMovilEmer> recMovilEmers) {

		this.idEmergencia27 = idEmergencia27;
		this.maestroEmergencias = maestroEmergencias;
		this.fEmergencia27 = fEmergencia27;
		this.idSolicitante27 = idSolicitante27;
		this.fAlta27 = fAlta27;
		this.usuAlta27 = usuAlta27;
		this.recMovilEmers = recMovilEmers;
	}

	/**
	 * Method 'getIdEmergencia27'.
	 *
	 * @return Long
	 */

	public Long getIdEmergencia27() {
		return this.idEmergencia27;
	}

	/**
	 * Method 'setIdEmergencia27'.
	 *
	 * @param idEmergencia27 Long
	 * @return
	 */

	public void setIdEmergencia27(Long idEmergencia27) {
		this.idEmergencia27 = idEmergencia27;
	}

	/**
	 * Method 'getMaestroEmergencias'.
	 *
	 * @return MaestroEmergencias
	 */

	public MaestroEmergencias getMaestroEmergencias() {
		return this.maestroEmergencias;
	}

	/**
	 * Method 'setMaestroEmergencias'.
	 *
	 * @param maestroEmergencias MaestroEmergencias
	 * @return
	 */

	public void setMaestroEmergencias(MaestroEmergencias maestroEmergencias) {
		this.maestroEmergencias = maestroEmergencias;
	}

	/**
	 * Method 'getFEmergencia27'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getfEmergencia27() {
		return this.fEmergencia27;
	}

	/**
	 * Method 'setfEmergencia27'.
	 *
	 * @param fEmergencia27 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateTimeDeserializer.class)
	public void setfEmergencia27(Date fEmergencia27) {
		this.fEmergencia27 = fEmergencia27;
	}

	/**
	 * Method 'getIdSolicitante27'.
	 *
	 * @return Long
	 */

	public Long getIdSolicitante27() {
		return this.idSolicitante27;
	}

	/**
	 * Method 'setIdSolicitante27'.
	 *
	 * @param idSolicitante27 Long
	 * @return
	 */

	public void setIdSolicitante27(Long idSolicitante27) {
		this.idSolicitante27 = idSolicitante27;
	}

	/**
	 * Method 'getfAlta27'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfAlta27() {
		return this.fAlta27;
	}

	/**
	 * Method 'setfAlta27'.
	 *
	 * @param fAlta27 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfAlta27(Date fAlta27) {
		this.fAlta27 = fAlta27;
	}

	/**
	 * Method 'getUsuAlta27'.
	 *
	 * @return String
	 */

	public String getUsuAlta27() {
		return this.usuAlta27;
	}

	/**
	 * Method 'setUsuAlta27'.
	 *
	 * @param usuAlta27 String
	 * @return
	 */

	public void setUsuAlta27(String usuAlta27) {
		this.usuAlta27 = usuAlta27;
	}

	/**
	 * Method 'getRecMovilEmers'.
	 *
	 * @return List
	 */
	public List<RecMovilEmer> getRecMovilEmers() {
		return this.recMovilEmers;
	}

	/**
	 * Method 'setRecMovilEmers'.
	 *
	 * @param recMovilEmers List
	 * @return
	 */
	public void setRecMovilEmers(List<RecMovilEmer> recMovilEmers) {
		this.recMovilEmers = recMovilEmers;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idEmergencia27: ").append(this.idEmergencia27).append(" ]");
		result.append(", [ FEmergencia27: ").append(this.fEmergencia27).append(" ]");
		result.append(", [ idSolicitante27: ").append(this.idSolicitante27).append(" ]");
		result.append(", [ fAlta27: ").append(this.fAlta27).append(" ]");
		result.append(", [ usuAlta27: ").append(this.usuAlta27).append(" ]");
		result.append(", [ recMovilEmers: ").append(this.recMovilEmers).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getfEmergencia27Desde'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfEmergencia27Desde() {
		return fEmergencia27Desde;
	}

	/**
	 * Method 'setfEmergencia27Desde'.
	 *
	 * @param fEmergencia27Desde java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfEmergencia27Desde(Date fEmergencia27Desde) {
		this.fEmergencia27Desde = fEmergencia27Desde;
	}

	/**
	 * Method 'getfEmergencia27Hasta'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfEmergencia27Hasta() {
		return fEmergencia27Hasta;
	}

	/**
	 * Method 'setfEmergencia27Hasta'.
	 *
	 * @param fEmergencia27Hasta java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfEmergencia27Hasta(Date fEmergencia27Hasta) {
		this.fEmergencia27Hasta = fEmergencia27Hasta;
	}

	/**
	 * Method 'getIdentificadorSolicitante'.
	 *
	 * @return String
	 */
	public String getIdentificadorSolicitante() {
		return identificadorSolicitante;
	}

	/**
	 * Method 'setIdentificadorSolicitante'.
	 *
	 * @param identificadorSolicitante String
	 * @return
	 */
	public void setIdentificadorSolicitante(String identificadorSolicitante) {
		this.identificadorSolicitante = identificadorSolicitante;
	}

	/**
	 * Method 'getNombreSolicitante'.
	 *
	 * @return String
	 */
	public String getNombreSolicitante() {
		return nombreSolicitante;
	}

	/**
	 * Method 'setNombreSolicitante'.
	 *
	 * @param nombreSolicitante String
	 * @return
	 */
	public void setNombreSolicitante(String nombreSolicitante) {
		this.nombreSolicitante = nombreSolicitante;
	}

	/**
	 * Method 'getSolicitante'.
	 *
	 * @return Solicitantes
	 */
	public Solicitantes getSolicitante() {
		return solicitante;
	}

	/**
	 * Method 'setSolicitante'.
	 *
	 * @param solicitante Solicitantes
	 * @return
	 */
	public void setSolicitante(Solicitantes solicitante) {
		this.solicitante = solicitante;
	}

	public Direcciones getDirecciones() {
		return direcciones;
	}

	public void setDirecciones(Direcciones direcciones) {
		this.direcciones = direcciones;
	}

}
