langtools/src/share/classes/com/sun/tools/javac/util/JavacMessages.java
changeset 9069 bcab4a29758f
parent 5847 1908176fd6e3
child 11052 65b9fa7eaf55
equal deleted inserted replaced
9068:6697b4cbba1d 9069:bcab4a29758f
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    42  *  This code and its internal interfaces are subject to change or
    42  *  This code and its internal interfaces are subject to change or
    43  *  deletion without notice.</b>
    43  *  deletion without notice.</b>
    44  */
    44  */
    45 public class JavacMessages implements Messages {
    45 public class JavacMessages implements Messages {
    46     /** The context key for the JavacMessages object. */
    46     /** The context key for the JavacMessages object. */
    47     protected static final Context.Key<JavacMessages> messagesKey =
    47     public static final Context.Key<JavacMessages> messagesKey =
    48         new Context.Key<JavacMessages>();
    48         new Context.Key<JavacMessages>();
    49 
    49 
    50     /** Get the JavacMessages instance for this context. */
    50     /** Get the JavacMessages instance for this context. */
    51     public static JavacMessages instance(Context context) {
    51     public static JavacMessages instance(Context context) {
    52         JavacMessages instance = context.get(messagesKey);
    52         JavacMessages instance = context.get(messagesKey);
    75     }
    75     }
    76 
    76 
    77     /** Creates a JavacMessages object.
    77     /** Creates a JavacMessages object.
    78      */
    78      */
    79     public JavacMessages(Context context) {
    79     public JavacMessages(Context context) {
    80         this(defaultBundleName);
    80         this(defaultBundleName, context.get(Locale.class));
    81         context.put(messagesKey, this);
    81         context.put(messagesKey, this);
    82     }
    82     }
    83 
    83 
    84     /** Creates a JavacMessages object.
    84     /** Creates a JavacMessages object.
    85      * @param bundleName the name to identify the resource buundle of localized messages.
    85      * @param bundleName the name to identify the resource buundle of localized messages.
    86      */
    86      */
    87     public JavacMessages(String bundleName) throws MissingResourceException {
    87     public JavacMessages(String bundleName) throws MissingResourceException {
       
    88         this(bundleName, null);
       
    89     }
       
    90 
       
    91     /** Creates a JavacMessages object.
       
    92      * @param bundleName the name to identify the resource buundle of localized messages.
       
    93      */
       
    94     public JavacMessages(String bundleName, Locale locale) throws MissingResourceException {
    88         bundleNames = List.nil();
    95         bundleNames = List.nil();
    89         bundleCache = new HashMap<Locale, SoftReference<List<ResourceBundle>>>();
    96         bundleCache = new HashMap<Locale, SoftReference<List<ResourceBundle>>>();
    90         add(bundleName);
    97         add(bundleName);
    91         setCurrentLocale(Locale.getDefault());
    98         setCurrentLocale(locale);
    92     }
    99     }
    93 
   100 
    94     public JavacMessages() throws MissingResourceException {
   101     public JavacMessages() throws MissingResourceException {
    95         this(defaultBundleName);
   102         this(defaultBundleName);
    96     }
   103     }