FileDocCategorySizeDatePackage
XSMessageFormatter.javaAPI DocJava SE 5 API5494Fri Aug 26 14:55:50 BST 2005com.sun.org.apache.xerces.internal.impl.xs

XSMessageFormatter

public class XSMessageFormatter extends Object implements MessageFormatter
SchemaMessageProvider implements an XMLMessageProvider that provides localizable error messages for the W3C XML Schema Language
author
Elena Litani, IBM
version
$Id: XSMessageFormatter.java,v 1.2 2002/01/29 01:15:14 lehors Exp $

Fields Summary
public static final String
SCHEMA_DOMAIN
The domain of messages concerning the XML Schema: Structures specification.
private Locale
fLocale
private ResourceBundle
fResourceBundle
Constructors Summary
Methods Summary
public java.lang.StringformatMessage(java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
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
Returns the formatted message.
throws
MissingResourceException Thrown if the message with the specified key cannot be found.


                                                                                                                                                       
            
          
        
        if (fResourceBundle == null || locale != fLocale) {
            if (locale != null) {
                fResourceBundle = PropertyResourceBundle.getBundle("com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages", locale);
                // memorize the most-recent locale
                fLocale = locale;
            }
            if (fResourceBundle == null)
                fResourceBundle = PropertyResourceBundle.getBundle("com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages");
        }
        
        String msg = fResourceBundle.getString(key);
        if (arguments != null) {
            try {
                msg = java.text.MessageFormat.format(msg, arguments);
            } catch (Exception e) {
                msg = fResourceBundle.getString("FormatFailed");
                msg += " " + fResourceBundle.getString(key);
            }
        } 

        if (msg == null) {
            msg = fResourceBundle.getString("BadMessageKey");
            throw new MissingResourceException(msg, "com.sun.org.apache.xerces.internal.impl.msg.SchemaMessages", key);
        }

        return msg;