Java tutorial
/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale 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 any later version. * * Squale 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 General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squalecommon.util.messages; import java.text.MessageFormat; import java.util.MissingResourceException; import java.util.ResourceBundle; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * Classe de manipulation des messages */ public class BaseMessages { /** * Logger. */ private static final Log LOGGER = LogFactory.getLog(BaseMessages.class); /** * Instance de ResourceBudle utilise. */ private ResourceBundle mResourceBundle; /** * Constructeur * * @param pBundleName du bundle charger */ protected BaseMessages(String pBundleName) { mResourceBundle = ResourceBundle.getBundle(pBundleName); } /** * Retourne la chane de caractre identifie par la cl. * * @param pKey nom de la cl. * @return la chane associe. */ protected String getBundleString(String pKey) { String value; try { value = mResourceBundle.getString(pKey); } catch (MissingResourceException e) { String message = CommonMessages.getString("exception.messages.missing") + pKey; LOGGER.error(message, e); value = "???" + pKey + "???"; } return value; } /** * Retourne la chane de caractre identifie par la cl. * * @param pKey nom de la cl. * @param pValues les valeurs insrer dans la chaine * @return la chane associe. */ protected String getBundleString(String pKey, Object[] pValues) { MessageFormat format = new MessageFormat(getBundleString(pKey)); return format.format(pValues); } /** * Indique si la cl demande existe * @param pKey nom de la cl recherche * @return le statut de la recherche (True/False) */ protected Boolean existBundleString(String pKey) { Boolean result; try { String value = mResourceBundle.getString(pKey); result = true; } catch (MissingResourceException e) { result = false; } return result; } }