/*
* Copyright 2021 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 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;

/**
 * MaestroNivSoporte generated by UDA, 15-ago-2023 8:18:24.
 * 
 * @author UDA
 */

public class MaestroNivSoporte implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idNivelSoporte58;
	private String descEs58;
	private String descEu58;
	private Date fAlta58;
	private String usuAlta58;
	private Date fModif58;
	private String usuModif58;

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

	/**
	 * Method 'MestroNivSoporte'.
	 * 
	 * @param idNivelSoporte58 Long
	 */
	public MaestroNivSoporte(Long idNivelSoporte58) {
		this.idNivelSoporte58 = idNivelSoporte58;
	}

	/**
	 * Method 'MaestroNivSoporte'.
	 * 
	 * @param idNivelSoporte58 Long
	 * @param descEs58         String
	 * @param descEu58         String
	 * @param fAlta58          Date
	 * @param usuAlta58        String
	 * @param fModif58         Date
	 * @param usuModif58       String
	 */
	public MaestroNivSoporte(Long idNivelSoporte58, String descEs58, String descEu58, Date fAlta58, String usuAlta58,
			Date fModif58, String usuModif58) {
		this.idNivelSoporte58 = idNivelSoporte58;
		this.descEs58 = descEs58;
		this.descEu58 = descEu58;
		this.fAlta58 = fAlta58;
		this.usuAlta58 = usuAlta58;
		this.fModif58 = fModif58;
		this.usuModif58 = usuModif58;

	}

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

	public Long getIdNivelSoporte58() {
		return this.idNivelSoporte58;
	}

	/**
	 * Method 'setIdNivelSoporte58'.
	 *
	 * @param idNivelSoporte58 Long
	 * @return
	 */

	public void setIdNivelSoporte58(Long idNivelSoporte58) {
		this.idNivelSoporte58 = idNivelSoporte58;
	}

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

	public String getDescEs58() {
		return this.descEs58;
	}

	/**
	 * Method 'setDescEs58'.
	 *
	 * @param descEs58 String
	 * @return
	 */

	public void setDescEs58(String descEs58) {
		this.descEs58 = descEs58;
	}

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

	public String getDescEu58() {
		return this.descEu58;
	}

	/**
	 * Method 'setDescEu58'.
	 *
	 * @param descEu58 String
	 * @return
	 */

	public void setDescEu58(String descEu58) {
		this.descEu58 = descEu58;
	}

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

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

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

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

	public String getUsuAlta58() {
		return this.usuAlta58;
	}

	/**
	 * Method 'setUsuAlta58'.
	 *
	 * @param usuAlta58 String
	 * @return
	 */

	public void setUsuAlta58(String usuAlta58) {
		this.usuAlta58 = usuAlta58;
	}

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

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

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

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

	public String getUsuModif58() {
		return this.usuModif58;
	}

	/**
	 * Method 'setUsuModif58'.
	 *
	 * @param usuModif58 String
	 * @return
	 */

	public void setUsuModif58(String usuModif58) {
		this.usuModif58 = usuModif58;
	}

	/**
	 * 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(" [ idNivelSoporte58: ").append(this.idNivelSoporte58).append(" ]");
		result.append(", [ descEs58: ").append(this.descEs58).append(" ]");
		result.append(", [ descEu58: ").append(this.descEu58).append(" ]");
		result.append(", [ fAlta58: ").append(this.fAlta58).append(" ]");
		result.append(", [ usuAlta58: ").append(this.usuAlta58).append(" ]");
		result.append(", [ fModif58: ").append(this.fModif58).append(" ]");
		result.append(", [ usuModif58: ").append(this.usuModif58).append(" ]");
		result.append("}");
		return result.toString();
	}

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

	public String getDesc() {
		if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_ES.getLanguage())) {
			return this.getDescEs58();
		} else if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_EU.getLanguage())) {
			return this.getDescEu58();
		}
		return "";
	}

}
