History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/sun/tools/jconsole/Resources.java (1 of 18352 files). Show all

Unified · Split

java/pkg/sun/tools/jconsole/Resources.java+113−0
@@ -0,0 +1,113 @@
1/*
2 * Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package sun.tools.jconsole;
27
28import java.text.MessageFormat;
29import java.util.MissingResourceException;
30import java.util.ResourceBundle;
31
32import sun.tools.jconsole.resources.JConsoleResources;
33
34/**
35 * Provides resource support for jconsole.
36 */
37public final class Resources {
38
39 private static final Object lock = new Object();
40 private static JConsoleResources resources = null;
41 static {
42 try {
43 resources =
44 (JConsoleResources)ResourceBundle.getBundle("sun.tools.jconsole.resources.JConsoleResources");
45 } catch (MissingResourceException e) {
46 // gracefully handle this later
47 }
48 }
49
50 private Resources() { throw new AssertionError(); }
51
52 /**
53 * Returns the text of the jconsole resource for the specified key
54 * formatted with the specified arguments.
55 *
56 */
57 public static String getText(String key, Object... args) {
58 String format = getString(key);
59 if (format == null) {
60 format = "missing resource key: key = \"" + key + "\", " +
61 "arguments = \"{0}\", \"{1}\", \"{2}\"";
62 }
63 return formatMessage(format, args);
64 }
65
66 static String formatMessage(String format, Object... args) {
67 String ss = null;
68 synchronized (lock) {
69 /*
70 * External synchronization required for safe use of
71 * java.text.MessageFormat:
72 */
73 ss = MessageFormat.format(format, args);
74 }
75 return ss;
76 }
77
78 /**
79 * Returns the mnemonic keycode int of the jconsole resource for the specified key.
80 *
81 */
82 public static int getMnemonicInt(String key) {
83 int mnemonic = 0;
84 if (resources != null) {
85 Object obj = resources.getObject(key+".mnemonic");
86 if (obj instanceof Character) {
87 mnemonic = (int)(Character)obj;
88 if (mnemonic >= 'a' && mnemonic <='z') {
89 mnemonic -= ('a' - 'A');
90 }
91 } else if (obj instanceof Integer) {
92 mnemonic = (Integer)obj;
93 }
94 }
95 return mnemonic;
96 }
97
98 /**
99 * Returns the jconsole resource string for the specified key.
100 *
101 */
102 private static String getString(String key) {
103 if (resources != null) {
104 try {
105 return resources.getString(key);
106 } catch (MissingResourceException e) {
107 return null;
108 }
109 }
110 return "missing resource bundle: key = \"" + key + "\", " +
111 "arguments = \"{0}\", \"{1}\", \"{2}\"";
112 }
113}