Mega Code Archive

 
Categories / Java / Internationalization
 

Methods for receving messages from resource bundles

/*  * $Id: BundleUtils.java,v 1.1.1.1 2005/04/07 18:36:22 pocho Exp $  */ import java.text.MessageFormat; import java.util.MissingResourceException; import java.util.ResourceBundle; /**  * Provides convinience methods for receving messages from resource bundles.  *   * @version $Name:  $ - $Revision: 1.1.1.1 $ - $Date: 2005/04/07 18:36:22 $  */ public class BundleUtils {   private BundleUtils() {}   /**    * Convenience method for receving message of given key from bundle.    * It handles {@linkplain MissingResourceException} by returning key    * surrounded by exclamation mark ("!"). Exception's message is also     * printed out.     *     * @param bundle    * @param key    * @return    */   public static String getString(ResourceBundle bundle, String key) {     try {       return bundle.getString(key);     }     catch (Exception ex) {       System.out.println("Error: " + BundleUtils.class + ": method getString(ResourceBundle, String) - bundle: " +                           bundle + " key: " + key);       return '!' + key + '!';     }   }   /**    * Convenience method for formatting returned message with array of objects.    *     * @param bundle    * @param key    * @param objects    * @return    */   public static String getMessageFormattedString(ResourceBundle bundle, String key,                                            Object[] objects) {     String message = getString(bundle, key);     return MessageFormat.format(message, objects);    }      public static Object[] createParams(Object o) {     Object[] params = null;     if (o instanceof Object[])       params = (Object[]) o;     else if (o != null)       params = new Object[] {o};     return params;   }      /**    * Convenience method for formatting returned message with a single objects.    *     * @param bundle    * @param key    * @param objects    * @return    */   public static String getMessageFormattedString(ResourceBundle bundle, String key,                                                   Object param) {     Object[] o = new Object[] {param};     return getMessageFormattedString(bundle, key, param);   } }