< prev index next >
src/java.desktop/share/classes/javax/accessibility/AccessibleBundle.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 28,38 ****
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-
import sun.awt.AWTAccessor;
/**
* Base class used to maintain a strongly typed enumeration. This is the
* superclass of {@link AccessibleState} and {@link AccessibleRole}.
--- 28,37 ----
*** 48,58 ****
* @see AccessibleRole
* @see AccessibleState
*/
public abstract class AccessibleBundle {
! private static Hashtable<Locale, Hashtable<String, Object>> table = new Hashtable<>();
private final String defaultResourceBundleName
= "com.sun.accessibility.internal.resources.accessibility";
static {
--- 47,57 ----
* @see AccessibleRole
* @see AccessibleState
*/
public abstract class AccessibleBundle {
! private static Hashtable<String, Hashtable<String, Object>> table = new Hashtable<>();
private final String defaultResourceBundleName
= "com.sun.accessibility.internal.resources.accessibility";
static {
*** 92,107 ****
* @param locale the locale for which to obtain a localized string
* @return a localized string for the key
*/
protected String toDisplayString(String resourceBundleName,
Locale locale) {
-
// loads the resource bundle if necessary
loadResourceBundle(resourceBundleName, locale);
// returns the localized string
! Hashtable<String, Object> ht = table.get(locale);
if (ht != null) {
Object o = ht.get(key);
if (o != null && o instanceof String) {
return (String)o;
}
--- 91,108 ----
* @param locale the locale for which to obtain a localized string
* @return a localized string for the key
*/
protected String toDisplayString(String resourceBundleName,
Locale locale) {
// loads the resource bundle if necessary
loadResourceBundle(resourceBundleName, locale);
+ // use the resource bundle name and locale based tag
+ String hashCodeKey = resourceBundleName + locale.toLanguageTag();
+
// returns the localized string
! Hashtable<String, Object> ht = table.get(hashCodeKey);
if (ht != null) {
Object o = ht.get(key);
if (o != null && o instanceof String) {
return (String)o;
}
*** 143,154 ****
/**
* Loads the Accessibility resource bundle if necessary.
*/
private void loadResourceBundle(String resourceBundleName,
Locale locale) {
! if (! table.containsKey(locale)) {
try {
Hashtable<String, Object> resourceTable = new Hashtable<>();
ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleName, locale);
--- 144,157 ----
/**
* Loads the Accessibility resource bundle if necessary.
*/
private void loadResourceBundle(String resourceBundleName,
Locale locale) {
! // use the resource bundle name and locale based tag
! String hashCodeKey = resourceBundleName + locale.toLanguageTag();
+ if (! table.containsKey(hashCodeKey)) {
try {
Hashtable<String, Object> resourceTable = new Hashtable<>();
ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleName, locale);
*** 156,166 ****
while(iter.hasMoreElements()) {
String key = iter.nextElement();
resourceTable.put(key, bundle.getObject(key));
}
! table.put(locale, resourceTable);
}
catch (MissingResourceException e) {
System.err.println("loadResourceBundle: " + e);
// Just return so toDisplayString() returns the
// non-localized key.
--- 159,169 ----
while(iter.hasMoreElements()) {
String key = iter.nextElement();
resourceTable.put(key, bundle.getObject(key));
}
! table.put(hashCodeKey, resourceTable);
}
catch (MissingResourceException e) {
System.err.println("loadResourceBundle: " + e);
// Just return so toDisplayString() returns the
// non-localized key.
< prev index next >