package com.ejie.m62fb.utils.properties;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

/**
 * Utilidades para los fichero de idioma de la aplicacion.
 * 
 * 
XXXX
 */
public class AppMessagesUtils extends SpringBeanAutowiringSupport {

	/**
	 * 
	 */
	@Autowired(required = false)
	private ReloadableResourceBundleMessageSource appMessageSource;

	/**
	 * Constructor de la clase
	 */
	public AppMessagesUtils() {

	}

	/**
	 * Funcion que recupera una entrada del fichero de literales de la
	 * aplicacion.
	 * 
	 * @param entryName
	 *            Nombre de la entrada del fichero de idioma
	 * @param locale
	 *            Idioma de la entrada
	 * 
	 * @return String Valor de la entrada
	 */
	public String getMessageEntry(String entryName, Locale locale) {

		return this.getMessageEntry(entryName, null, locale);
	}

	/**
	 * Funcion que recupera una entrada del fichero de literales de la
	 * aplicacion.
	 * 
	 * @param entryName
	 *            String Nombre de la entrada del fichero de idioma
	 * @param args
	 *            Object[] Argumentos
	 * @param locale
	 *            Locale Idioma de la entrada
	 * 
	 * @return String Valor de la entrada
	 */
	public String getMessageEntry(String entryName, Object[] args, Locale locale) {
		return this.appMessageSource.getMessage(entryName, args, locale);
	}

}