package com.ejie.ad74a.model;

import java.util.Date;

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;

/**
 * Protocolos generated by UDA, 28-jun-2023 17:11:00.
 * 
 * @author UDA
 */

public class Protocolos implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idProtocolo26;
	private Integer idTipoProtocolo26;
	private Date fEntrada26;
	private Date fSalida26;
	private Long idSolicitante26;
	private Date fAlta26;
	private String usuAlta26;
	private Solicitantes solicitante;
	private Direcciones direcciones;

	/* Campos auxiliares */

	private Date fEntradaDesde;
	private Date fEntradaHasta;
	private Date fSalidaDesde;
	private Date fSalidaHasta;

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

	/**
	 * Method 'Protocolos'.
	 * 
	 * @param idProtocolo26 BigDecimal
	 */
	public Protocolos(Long idProtocolo26) {
		this.idProtocolo26 = idProtocolo26;
	}

	/**
	 * Method 'Protocolos'.
	 * 
	 * @param idProtocolo26     BigDecimal
	 * @param idTipoProtocolo26 Integer
	 * @param fEntrada26        Date
	 * @param fSalida26         Date
	 * @param fAlta26           Date
	 * @param usuAlta26         String
	 */
	public Protocolos(Long idProtocolo26, Integer idTipoProtocolo26, Long idSolicitante26, Date fEntrada26,
			Date fSalida26, Date fAlta26, String usuAlta26) {

		this.idProtocolo26 = idProtocolo26;
		this.idTipoProtocolo26 = idTipoProtocolo26;
		this.idSolicitante26 = idSolicitante26;
		this.fEntrada26 = fEntrada26;
		this.fSalida26 = fSalida26;
		this.fAlta26 = fAlta26;
		this.usuAlta26 = usuAlta26;
	}

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

	public Long getIdProtocolo26() {
		return this.idProtocolo26;
	}

	/**
	 * Method 'setIdProtocolo26'.
	 *
	 * @param idProtocolo26 Long
	 * @return
	 */

	public void setIdProtocolo26(Long idProtocolo26) {
		this.idProtocolo26 = idProtocolo26;
	}

	/**
	 * Method 'getIdTipoProtocolo26'.
	 *
	 * @return Integer
	 */

	public Integer getIdTipoProtocolo26() {
		return this.idTipoProtocolo26;
	}

	/**
	 * Method 'setIdTipoProtocolo26'.
	 *
	 * @param idTipoProtocolo26 Integer
	 * @return
	 */

	public void setIdTipoProtocolo26(Integer idTipoProtocolo26) {
		this.idTipoProtocolo26 = idTipoProtocolo26;
	}

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

	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getfEntrada26() {
		return this.fEntrada26;
	}

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

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

	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getfSalida26() {
		return this.fSalida26;
	}

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

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

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

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

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

	public String getUsuAlta26() {
		return this.usuAlta26;
	}

	/**
	 * Method 'setUsuAlta26'.
	 *
	 * @param usuAlta26 String
	 * @return
	 */

	public void setUsuAlta26(String usuAlta26) {
		this.usuAlta26 = usuAlta26;
	}

	/**
	 * 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(" [ idProtocolo26: ").append(this.idProtocolo26).append(" ]");
		result.append(", [ idTipoProtocolo26: ").append(this.idTipoProtocolo26).append(" ]");
		result.append(", [ idSolicitante26: ").append(this.idSolicitante26).append(" ]");
		result.append(", [ FEntrada26: ").append(this.fEntrada26).append(" ]");
		result.append(", [ FSalida26: ").append(this.fSalida26).append(" ]");
		result.append(", [ FAlta26: ").append(this.fAlta26).append(" ]");
		result.append(", [ usuAlta26: ").append(this.usuAlta26).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getIdSolicitante26'.
	 *
	 * @return Long
	 */
	public Long getIdSolicitante26() {
		return idSolicitante26;
	}

	/**
	 * Method 'setIdSolicitante26'.
	 *
	 * @param idSolicitante26 Long
	 * @return
	 */
	public void setIdSolicitante26(Long idSolicitante26) {
		this.idSolicitante26 = idSolicitante26;
	}

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

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

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

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

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

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

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

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

	/**
	 * 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;
	}

}
