1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * contributor license agreements.  See the NOTICE file distributed with
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this work for additional information regarding copyright ownership.
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (the "License"); you may not use this file except in compliance with
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the License.  You may obtain a copy of the License at
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * THE FILE HAS BEEN AUTOGENERATED BY MSGTOOL TOOL.
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * All changes made to this file manually will be overwritten
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * if this tool runs again. Better make changes in the template file.
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// BEGIN android-note
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Redundant code has been removed and is now called from MsgHelp.
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// END android-note
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.apache.harmony.annotation.internal.nls;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.security.AccessController;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.security.PrivilegedAction;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.Locale;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.MissingResourceException;
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.ResourceBundle;
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// BEGIN android-changed
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.apache.harmony.luni.util.MsgHelp;
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// END android-changed
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * This class retrieves strings from a resource bundle and returns them,
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * formatting them with MessageFormat when required.
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p>
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * It is used by the system classes to provide national language support, by
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * looking up messages in the <code>
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *    org.apache.harmony.annotation.internal.nls.messages
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * </code>
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * resource bundle. Note that if this file is not available, or an invalid key
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is looked up, or resource bundle support is not available, the key itself
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * will be returned as the associated message. This means that the <em>KEY</em>
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * should a reasonable human-readable (english) string.
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class Messages {
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // BEGIN android-changed
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    private static final String sResource =
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        "org.apache.harmony.annotation.internal.nls.messages";
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // END android-changed
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which has no arguments.
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg) {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // BEGIN android-changed
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return MsgHelp.getString(sResource, msg);
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // END android-changed
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which takes 1 argument.
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param arg
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            Object the object to insert in the formatted output.
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg, Object arg) {
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return getString(msg, new Object[] { arg });
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which takes 1 integer argument.
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param arg
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            int the integer to insert in the formatted output.
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg, int arg) {
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return getString(msg, new Object[] { Integer.toString(arg) });
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which takes 1 character argument.
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param arg
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            char the character to insert in the formatted output.
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg, char arg) {
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return getString(msg, new Object[] { String.valueOf(arg) });
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which takes 2 arguments.
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param arg1
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            Object an object to insert in the formatted output.
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param arg2
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            Object another object to insert in the formatted output.
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg, Object arg1, Object arg2) {
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return getString(msg, new Object[] { arg1, arg2 });
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieves a message which takes several arguments.
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param msg
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            String the key to look up.
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param args
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            Object[] the objects to insert in the formatted output.
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return String the message for that key in the system message bundle.
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    static public String getString(String msg, Object[] args) {
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // BEGIN android-changed
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return MsgHelp.getString(sResource, msg, args);
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        // END android-changed
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // BEGIN android-note
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // Duplicate code was dropped in favor of using MsgHelp.
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    // END android-note
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
147