package com.ejie.ad74a.model;

import com.ejie.ad74a.constantes.Constantes;
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;
import java.util.Date;

import org.springframework.context.i18n.LocaleContextHolder;

/**
 * MaestroIntervenciones generated by UDA, 28-jun-2023 18:33:28.
 * 
 * @author UDA
 */

public class MaestroIntervenciones implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idTipoIntervencion45;
	private String descEs45;
	private String descEu45;
	private Date fAlta45;
	private String usuAlta45;
	private Date fModif45;
	private String usuModif45;

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

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

	/**
	 * Method 'MaestroIntervenciones'.
	 * 
	 * @param idTipoIntervencion45 Long
	 * @param descEs45             String
	 * @param descEu45             String
	 * @param fAlta45              Date
	 * @param usuAlta45            String
	 * @param fModif45             Date
	 * @param usuModif45           String
	 */
	public MaestroIntervenciones(Long idTipoIntervencion45, String descEs45, String descEu45, Date fAlta45,
			String usuAlta45, Date fModif45, String usuModif45) {

		this.idTipoIntervencion45 = idTipoIntervencion45;
		this.descEs45 = descEs45;
		this.descEu45 = descEu45;
		this.fAlta45 = fAlta45;
		this.usuAlta45 = usuAlta45;
		this.fModif45 = fModif45;
		this.usuModif45 = usuModif45;
	}

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

	public Long getIdTipoIntervencion45() {
		return this.idTipoIntervencion45;
	}

	/**
	 * Method 'setIdTipoIntervencion45'.
	 *
	 * @param idTipoIntervencion45 Long
	 * @return
	 */

	public void setIdTipoIntervencion45(Long idTipoIntervencion45) {
		this.idTipoIntervencion45 = idTipoIntervencion45;
	}

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

	public String getDescEs45() {
		return this.descEs45;
	}

	/**
	 * Method 'setDescEs45'.
	 *
	 * @param descEs45 String
	 * @return
	 */

	public void setDescEs45(String descEs45) {
		this.descEs45 = descEs45;
	}

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

	public String getDescEu45() {
		return this.descEu45;
	}

	/**
	 * Method 'setDescEu45'.
	 *
	 * @param descEu45 String
	 * @return
	 */

	public void setDescEu45(String descEu45) {
		this.descEu45 = descEu45;
	}

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

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

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

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

	public String getUsuAlta45() {
		return this.usuAlta45;
	}

	/**
	 * Method 'setUsuAlta45'.
	 *
	 * @param usuAlta45 String
	 * @return
	 */

	public void setUsuAlta45(String usuAlta45) {
		this.usuAlta45 = usuAlta45;
	}

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

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

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

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

	public String getUsuModif45() {
		return this.usuModif45;
	}

	/**
	 * Method 'setUsuModif45'.
	 *
	 * @param usuModif45 String
	 * @return
	 */

	public void setUsuModif45(String usuModif45) {
		this.usuModif45 = usuModif45;
	}

	/**
	 * Method 'getDesc'.
	 *
	 * @return String
	 */
	public String getDesc() {
		if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_ES.getLanguage())) {
			return this.getDescEs45();
		} else if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_EU.getLanguage())) {
			return this.getDescEu45();
		}
		return "";
	}

	/**
	 * 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(" [ idTipoIntervencion45: ").append(this.idTipoIntervencion45).append(" ]");
		result.append(", [ descEs45: ").append(this.descEs45).append(" ]");
		result.append(", [ descEu45: ").append(this.descEu45).append(" ]");
		result.append(", [ FAlta45: ").append(this.fAlta45).append(" ]");
		result.append(", [ usuAlta45: ").append(this.usuAlta45).append(" ]");
		result.append(", [ FModif45: ").append(this.fModif45).append(" ]");
		result.append(", [ usuModif45: ").append(this.usuModif45).append(" ]");
		result.append("}");
		return result.toString();
	}

}
