FileDocCategorySizeDatePackage
AccessibleBundle.javaAPI DocJava SE 5 API4379Fri Aug 26 14:57:28 BST 2005javax.accessibility

AccessibleBundle

public abstract class AccessibleBundle extends Object

Base class used to maintain a strongly typed enumeration. This is the superclass of {@link AccessibleState} and {@link AccessibleRole}.

The toDisplayString method allows you to obtain the localized string for a locale independent key from a predefined ResourceBundle for the keys defined in this class. This localized string is intended to be readable by humans.

see
AccessibleRole
see
AccessibleState
version
1.12 10/05/99
author
Willie Walker
author
Peter Korn
author
Lynn Monsanto

Fields Summary
private static Hashtable
table
private final String
defaultResourceBundleName
protected String
key
The locale independent name of the state. This is a programmatic name that is not intended to be read by humans.
Constructors Summary
public AccessibleBundle()


      
    
Methods Summary
private voidloadResourceBundle(java.lang.String resourceBundleName, java.util.Locale locale)

	if (! table.contains(locale)) {
                
	    try {
                Hashtable resourceTable = new Hashtable();
		
                ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleName, locale);
		
                Enumeration iter = bundle.getKeys();
		while(iter.hasMoreElements()) {
		    String key = (String)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.
		return;
	    }
	}
    
protected java.lang.StringtoDisplayString(java.lang.String resourceBundleName, java.util.Locale locale)
Obtains the key as a localized string. If a localized string cannot be found for the key, the locale independent key stored in the role will be returned. This method is intended to be used only by subclasses so that they can specify their own resource bundles which contain localized strings for their keys.

param
resourceBundleName the name of the resource bundle to use for lookup
param
locale the locale for which to obtain a localized string
return
a localized String for the key.


                                                                                                  
        
			               

	// loads the resource bundle if necessary
	loadResourceBundle(resourceBundleName, locale);

	// returns the localized string
	Object o = table.get(locale);
	if (o != null && o instanceof Hashtable) {
                Hashtable resourceTable = (Hashtable) o;
                o = resourceTable.get(key);
                
                if (o != null && o instanceof String) {
                    return (String)o;
                }
	}
	return key;
    
public java.lang.StringtoDisplayString(java.util.Locale locale)
Obtains the key as a localized string. If a localized string cannot be found for the key, the locale independent key stored in the role will be returned.

param
locale the locale for which to obtain a localized string
return
a localized String for the key.

        return toDisplayString(defaultResourceBundleName, locale);
    
public java.lang.StringtoDisplayString()
Gets localized string describing the key using the default locale.

return
a localized String describing the key for the default locale

        return toDisplayString(Locale.getDefault());
    
public java.lang.StringtoString()
Gets localized string describing the key using the default locale.

return
a localized String describing the key using the default locale
see
#toDisplayString

        return toDisplayString();