package com.ejie.ad74a.model.comun;

import org.springframework.context.i18n.LocaleContextHolder;

import com.ejie.ad74a.constantes.Constantes;

public class Pais implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private String codPais;
	private String descripcionEs;
	private String descripcionEu;

	public Pais() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Pais(String codPais) {
		super();
		this.codPais = codPais;
	}

	public Pais(String codPais, String descripcionEs) {
		super();
		this.codPais = codPais;
		this.descripcionEs = descripcionEs;
	}

	// Pais bilingue
	public Pais(String codPais, String descripcionEs, String descripcionEu) {
		super();
		this.codPais = codPais;
		this.descripcionEs = descripcionEs;
		this.descripcionEu = descripcionEu;
	}

	/**
	 * @return the codPais
	 */
	public String getCodPais() {
		return codPais;
	}

	/**
	 * @param codPais the codPais to set
	 */
	public void setCodPais(String codPais) {
		this.codPais = codPais;
	}

	/**
	 * @return the descripcion
	 */
	public String getDescripcionEs() {
		return descripcionEs;
	}

	/**
	 * @param descripcion the descripcion to set
	 */
	public void setDescripcionEs(String descripcion) {
		this.descripcionEs = descripcion;
	}

	public String getDescripcionEu() {
		return descripcionEu;
	}

	public void setDescripcionEu(String descripcioneu) {
		this.descripcionEu = descripcioneu;
	}

	public String getDescripcion() {
		if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_ES.getLanguage())) {
			return this.descripcionEs;
		} else if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_EU.getLanguage())) {
			return this.descripcionEu;
		}
		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(" [ codPais: ").append(this.codPais).append(" ]");
		result.append(", [ descripcion: ").append(this.descripcionEs).append(" ]");
		result.append("}");
		return result.toString();
	}
}
