/** * 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.welcom.taglib.aide; import java.util.Locale; /** * Classe contenant le ressourceBundle, la locale, et la localisation du fichier de ressource Pour changer le mod�le de * ce commentaire de type g�n�r�, allez � : Fen�tre>Pr�f�rences>Java>G�n�ration de code>Code et commentaires */ public class AideRessource { /** Constante */ public final static String KEY_DEFAULT = "DEFAULT"; /** Constante */ private final static String KEY_NOTFOUND = "DEFAULT"; /** le ressource bundle */ private java.util.ResourceBundle resourceBundle = null; /** la locale */ private Locale locale = Locale.getDefault(); /** le fichier de ressource */ private String fileBundle = null; /** * Constructeur * * @param pFileBundle le fichier de ressource a utiliser * @param pLocale la locale * @throws AideException exception susceptible d'etre levee a l'ouverture du fichier */ public AideRessource( final String pFileBundle, final Locale pLocale ) throws AideException { setLocale( pLocale ); setFileBundle( pFileBundle ); openRessourceBundle(); } /** * accesseur * * @param pFileBundle le nouveau fileBundle */ public void setFileBundle( final String pFileBundle ) { fileBundle = pFileBundle; } /** * accesseur * * @param pLocale la nouvelle locale */ public void setLocale( final Locale pLocale ) { locale = pLocale; } /** * Retourne la valeur stocke dans le ressource Bundle * * @param key la cle * @param parDefaut la valeur par defaut si le ressource bundle est nul, ou si la valeur associee a la cle n'existe * pas * @return la valeur stockee dans le ressource bundle */ public String getValue( final String key, final String parDefaut ) { if ( ( resourceBundle == null ) || ( resourceBundle.getString( key ) == null ) ) { return parDefaut; } else { return resourceBundle.getString( key ); } } /** * Retourne la valeur Sockee dans la ressource Bundle, si pas trouvee retourne la clef DEFAUT * * @param key la cle * @return la valeur stockee dans le ressource bundle */ public String getString( final String key ) { return getValue( key, KEY_NOTFOUND ); } /** * Ouvre le ressourceBundle * * @throws AideException exception susceptible d'etre levee */ public void openRessourceBundle() throws AideException { resourceBundle = java.util.ResourceBundle.getBundle( fileBundle, locale ); } }