1 6 7 package com.sun.org.apache.xerces.internal.util; 8 9 import java.util.Locale ; 10 import java.util.MissingResourceException ; 11 import java.util.PropertyResourceBundle ; 12 import java.util.ResourceBundle ; 13 14 18 19 public class DatatypeMessageFormatter { 20 21 static final String BASE_NAME = "com.sun.org.apache.xerces.internal.impl.msg.DatatypeMessages"; 22 23 38 public static String formatMessage(Locale locale, 39 String key, Object [] arguments) 40 throws MissingResourceException { 41 42 ResourceBundle resourceBundle = null; 43 if (locale != null) { 44 resourceBundle = 45 PropertyResourceBundle.getBundle(BASE_NAME, locale); 46 } 47 else { 48 resourceBundle = 49 PropertyResourceBundle.getBundle(BASE_NAME); 50 } 51 52 String msg; 54 try { 55 msg = resourceBundle.getString(key); 56 if (arguments != null) { 57 try { 58 msg = java.text.MessageFormat.format(msg, arguments); 59 } 60 catch (Exception e) { 61 msg = resourceBundle.getString("FormatFailed"); 62 msg += " " + resourceBundle.getString(key); 63 } 64 } 65 } 66 67 catch (MissingResourceException e) { 69 msg = resourceBundle.getString("BadMessageKey"); 70 throw new MissingResourceException (key, msg, key); 71 } 72 73 if (msg == null) { 75 msg = key; 76 if (arguments.length > 0) { 77 StringBuffer str = new StringBuffer (msg); 78 str.append('?'); 79 for (int i = 0; i < arguments.length; i++) { 80 if (i > 0) { 81 str.append('&'); 82 } 83 str.append(String.valueOf(arguments[i])); 84 } 85 } 86 } 87 return msg; 88 } 89 } 90 | Popular Tags |