/*
* 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.ae01b;

import java.util.Date;

import org.springframework.context.i18n.LocaleContextHolder;

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;

/**
 * MotivosAnulDev generated by UDA, 28-jun-2023 11:23:16.
 * 
 * @author UDA
 */

public class MotivosAnulDev implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idMotivo32;
	private Long tipoOpe32;
	private String descripcionEs32;
	private String descripcionEu32;
	private String codSipca32;
	private String usuAlta32;
	private Date fAlta32;
	private String usuModif32;
	private Date fModif32;

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

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

	/**
	 * Method 'MotivosAnulDev'.
	 * 
	 * @param idMotivo32      Long
	 * @param tipoOpe32       Long
	 * @param descripcionEs32 String
	 * @param descripcionEu32 String
	 * @param codSipca32      String
	 * @param usuAlta32       String
	 * @param fAlta32         Date
	 * @param usuModif32      String
	 * @param fModif32        Date
	 */
	public MotivosAnulDev(Long idMotivo32, Long tipoOpe32, String descripcionEs32, String descripcionEu32,
			String codSipca32, String usuAlta32, Date fAlta32, String usuModif32, Date fModif32) {
		this.idMotivo32 = idMotivo32;
		this.tipoOpe32 = tipoOpe32;
		this.descripcionEs32 = descripcionEs32;
		this.descripcionEu32 = descripcionEu32;
		this.codSipca32 = codSipca32;
		this.usuAlta32 = usuAlta32;
		this.fAlta32 = fAlta32;
		this.usuModif32 = usuModif32;
		this.fModif32 = fModif32;
	}

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

	public Long getIdMotivo32() {
		return this.idMotivo32;
	}

	/**
	 * Method 'setIdMotivo32'.
	 *
	 * @param idMotivo32 Long
	 * @return
	 */

	public void setIdMotivo32(Long idMotivo32) {
		this.idMotivo32 = idMotivo32;
	}

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

	public Long getTipoOpe32() {
		return this.tipoOpe32;
	}

	/**
	 * Method 'setTipoOpe32'.
	 *
	 * @param tipoOpe32 Long
	 * @return
	 */

	public void setTipoOpe32(Long tipoOpe32) {
		this.tipoOpe32 = tipoOpe32;
	}

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

	public String getDescripcionEs32() {
		return this.descripcionEs32;
	}

	/**
	 * Method 'setDescripcionEs32'.
	 *
	 * @param descripcionEs32 String
	 * @return
	 */

	public void setDescripcionEs32(String descripcionEs32) {
		this.descripcionEs32 = descripcionEs32;
	}

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

	public String getDescripcionEu32() {
		return this.descripcionEu32;
	}

	/**
	 * Method 'setDescripcionEu32'.
	 *
	 * @param descripcionEu32 String
	 * @return
	 */

	public void setDescripcionEu32(String descripcionEu32) {
		this.descripcionEu32 = descripcionEu32;
	}

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

	public String getCodSipca32() {
		return this.codSipca32;
	}

	/**
	 * Method 'setCodSipca32'.
	 *
	 * @param codSipca32 String
	 * @return
	 */

	public void setCodSipca32(String codSipca32) {
		this.codSipca32 = codSipca32;
	}

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

	public String getUsuAlta32() {
		return this.usuAlta32;
	}

	/**
	 * Method 'setUsuAlta32'.
	 *
	 * @param usuAlta32 String
	 * @return
	 */

	public void setUsuAlta32(String usuAlta32) {
		this.usuAlta32 = usuAlta32;
	}

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

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

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

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

	public String getUsuModif32() {
		return this.usuModif32;
	}

	/**
	 * Method 'setUsuModif32'.
	 *
	 * @param usuModif32 String
	 * @return
	 */

	public void setUsuModif32(String usuModif32) {
		this.usuModif32 = usuModif32;
	}

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

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

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

	/**
	 * 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(" [ idMotivo32: ").append(this.idMotivo32).append(" ]");
		result.append(", [ tipoOpe32: ").append(this.tipoOpe32).append(" ]");
		result.append(", [ descripcionEs32: ").append(this.descripcionEs32).append(" ]");
		result.append(", [ descripcionEu32: ").append(this.descripcionEu32).append(" ]");
		result.append(", [ codSipca32: ").append(this.codSipca32).append(" ]");
		result.append(", [ usuAlta32: ").append(this.usuAlta32).append(" ]");
		result.append(", [ fAlta32: ").append(this.fAlta32).append(" ]");
		result.append(", [ usuModif32: ").append(this.usuModif32).append(" ]");
		result.append(", [ fModif32: ").append(this.fModif32).append(" ]");
		result.append("}");
		return result.toString();
	}

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

	public String getDescripcion() {
		if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_ES.getLanguage())) {
			return this.getDescripcionEs32();
		} else if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_EU.getLanguage())) {
			return this.getDescripcionEu32();
		}
		return "";
	}
}
