You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by an...@apache.org on 2005/05/06 17:40:07 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/util DatatypeMessageFormatter.java
ankitp 2005/05/06 08:40:07
Added: java/src/org/apache/xerces/util
DatatypeMessageFormatter.java
Log:
message formatter used by JAXP 1.3 datatype impl
Revision Changes Path
1.1 xml-xerces/java/src/org/apache/xerces/util/DatatypeMessageFormatter.java
Index: DatatypeMessageFormatter.java
===================================================================
/*
* DatatypeMessageFormatter.java
*
* Created on June 28, 2004, 9:15 AM
*/
package org.apache.xerces.util;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
/**
*
* @author Neeraj Bajaj, Sun Microsystems
*/
public class DatatypeMessageFormatter {
static final String BASE_NAME = "org.apache.xerces.impl.msg.DatatypeMessages";
/**
* Formats a message with the specified arguments using the given
* locale information.
*
* @param locale The locale of the message.
* @param key The message key.
* @param arguments The message replacement text arguments. The order
* of the arguments must match that of the placeholders
* in the actual message.
*
* @return the formatted message.
*
* @throws MissingResourceException Thrown if the message with the
* specified key cannot be found.
*/
public static String formatMessage(Locale locale,
String key, Object[] arguments)
throws MissingResourceException {
ResourceBundle resourceBundle = null;
if (locale != null) {
resourceBundle =
PropertyResourceBundle.getBundle(BASE_NAME, locale);
}
else {
resourceBundle =
PropertyResourceBundle.getBundle(BASE_NAME);
}
// format message
String msg;
try {
msg = resourceBundle.getString(key);
if (arguments != null) {
try {
msg = java.text.MessageFormat.format(msg, arguments);
}
catch (Exception e) {
msg = resourceBundle.getString("FormatFailed");
msg += " " + resourceBundle.getString(key);
}
}
}
// error
catch (MissingResourceException e) {
msg = resourceBundle.getString("BadMessageKey");
throw new MissingResourceException(key, msg, key);
}
// no message
if (msg == null) {
msg = key;
if (arguments.length > 0) {
StringBuffer str = new StringBuffer(msg);
str.append('?');
for (int i = 0; i < arguments.length; i++) {
if (i > 0) {
str.append('&');
}
str.append(String.valueOf(arguments[i]));
}
}
}
return msg;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org