|  |  | 
|  |  | 
|  |  */ | 
|  | /* | 
|  |  * Licensed to the Apache Software Foundation (ASF) under one or more | 
|  |  * contributor license agreements.  See the NOTICE file distributed with | 
|  |  * this work for additional information regarding copyright ownership. | 
|  |  * The ASF licenses this file to You under the Apache License, Version 2.0 | 
|  |  * (the "License"); you may not use this file except in compliance with | 
|  |  * the License.  You may obtain a copy of the License at | 
|  |  * | 
|  |  *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  * | 
|  |  * Unless required by applicable law or agreed to in writing, software | 
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | 
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  |  * See the License for the specific language governing permissions and | 
|  |  * limitations under the License. | 
|  |  */ | 
|  |  | 
|  | package com.sun.org.apache.xerces.internal.impl.xs; | 
|  |  | 
|  | import com.sun.org.apache.xerces.internal.util.MessageFormatter; | 
|  | import java.util.Locale; | 
|  | import java.util.MissingResourceException; | 
|  | import java.util.ResourceBundle; | 
|  | import jdk.xml.internal.SecuritySupport; | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  */ | 
|  | public class XSMessageFormatter implements MessageFormatter { | 
|  |      | 
|  |  | 
|  |      */ | 
|  |     public static final String SCHEMA_DOMAIN = "http://www.w3.org/TR/xml-schema-1"; | 
|  |  | 
|  |  | 
|  |      | 
|  |     private Locale fLocale = null; | 
|  |     private ResourceBundle fResourceBundle = null; | 
|  |  | 
|  |      | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |      */ | 
|  |      public String formatMessage(Locale locale, String key, Object[] arguments) | 
|  |         throws MissingResourceException { | 
|  |  | 
|  |         if (fResourceBundle == null || locale != fLocale) { | 
|  |             if (locale != null) { | 
|  |                 fResourceBundle = SecuritySupport.getResourceBundle("com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages", locale); | 
|  |                  | 
|  |                 fLocale = locale; | 
|  |             } | 
|  |             if (fResourceBundle == null) | 
|  |                 fResourceBundle = SecuritySupport.getResourceBundle("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; | 
|  |     } | 
|  | } |