/**
* 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;
/**
* @author m400832
* @version 1.0
*/
public abstract class CommonMessages
{
/**
* Logger.
*/
private static final Log LOGGER = LogFactory.getLog( CommonMessages.class );
/**
* Chemin du fichier de propri�t�s.
*/
private static final String BUNDLE_NAME = "org.squale.squalecommon.util.messages.common_messages";
/**
* Instance de ResourceBudle utilis�e.
*/
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle( BUNDLE_NAME );
/**
* Constructeur par d�faut. Priv� pour �viter l'instanciation.
*/
private CommonMessages()
{
}
/**
* Retourne la cha�ne de caract�re identifi�e par la cl�.
*
* @param pKey nom de la cl�.
* @return la cha�ne associ�e.
*/
public static String getString( String pKey )
{
String value = null;
ResourceBundle goodBundle = RESOURCE_BUNDLE;
try
{
value = goodBundle.getString( pKey );
}
catch ( MissingResourceException e )
{
String message = getString( "exception.messages.missing" ) + pKey;
LOGGER.error( message, e );
}
return value;
}
/**
* Retourne le nombre (entier) identifi�e par la cl�.
*
* @param pKey nom de la cl�.
* @return la cha�ne associ�e.
*/
public static int getInt( String pKey )
{
String value = getString( pKey );
int ret = -1;
try
{
ret = Integer.parseInt( value );
}
catch ( NumberFormatException e )
{
LOGGER.error( getString( "exception.messages" ) + pKey );
LOGGER.error( getString( "exception.messages.castToInt1" ) + value
+ getString( "exception.messages.castToInt2" ), e );
}
return ret;
}
/**
* Obtention d'un message variable
*
* @param pKey clef
* @param pObjects objets
* @return cha�ne r�sultante
*/
public static String getString( String pKey, Object[] pObjects )
{
MessageFormat format = new MessageFormat( getString( pKey ) );
return format.format( pObjects );
}
}