org.squale.squalecommon.util.messages.BaseMessages.java Source code

Java tutorial

Introduction

Here is the source code for org.squale.squalecommon.util.messages.BaseMessages.java

Source

/**
 * 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;
    }

}