Java tutorial
/** * */ /* This file is part of Scub Foundation. Copyright (C) 2006-2013 SCUB Scub Foundation is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Scub Foundation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Scub Foundation. If not, see <http://www.gnu.org/licenses/>. */ package org.scub.foundation.framework.base.messagesource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale; import org.springframework.context.support.ReloadableResourceBundleMessageSource; /** * Classe utilitaire permettant la gestion des MessageSource dans les applications noyau. * @author Goumard Stephane (stephane.goumard@scub.net) */ public final class MessageSourceUtil { /** * Classe qui charge les informations de langue utilis pour la gestion des MessageSource. */ private MessageSourceDetails messageSourceDetails; /** * Resouce pour la rcuperation des messages. */ private ReloadableResourceBundleMessageSource messageSource; /** * Retourne un messsage dans la liste des bungles en fonction de la cl. * @param code la cl du message. * @return le message null si aucune occurence. */ public String get(String code) { return get(code, null); } /** * Retourne un messsage dans la liste des bungles en fonction de la cl. * @param code la cl du message. * @param params la liste des paramtres pour le message. * @return le message null si aucune occurence. */ public String get(String code, Object[] params) { return get(code, params, messageSourceDetails.loadLocalInfo().getLocale()); } /** * Retourne un message dans la liste des bundles en spcifiant une locale. * @param code la cl du message. * @param params la liste des paramtres pour le message. * @param locale la locale pour la langue du message * @return le message null si aucune occurence. */ public String get(String code, Object[] params, Locale locale) { return messageSource.getMessage(code, params, locale); } /** * Retourne la conversion de la date en fonction de la locale utilise. * @param date la date. * @return la conversion. */ public String getDateFormat(final Calendar date) { final SimpleDateFormat format = new SimpleDateFormat(messageSourceDetails.loadLocalInfo().getDatePattern()); return format.format(date.getTime()); } /** * Retourne la conversion de la date en fonction du Locale utilis. * @param date la date. * @return la conversion. * @throws ParseException erreur de parsing de la date. * @throws java.text.ParseException . */ public Calendar getDateParse(final String date) throws ParseException { final SimpleDateFormat format = new SimpleDateFormat(messageSourceDetails.loadLocalInfo().getDatePattern()); final Calendar cal = Calendar.getInstance(); cal.clear(); cal.setTimeInMillis(format.parse(date).getTime()); return cal; } /** * Set the messageSourceDetails value. * @param messageSourceDetails the messageSourceDetails to set */ public void setMessageSourceDetails(MessageSourceDetails messageSourceDetails) { this.messageSourceDetails = messageSourceDetails; } /** * Set the messageSource value. * @param messageSource the messageSource to set */ public void setMessageSource(ReloadableResourceBundleMessageSource messageSource) { this.messageSource = messageSource; } }