Package com.google.gwt.i18n.client
Class Dictionary
- java.lang.Object
-
- com.google.gwt.i18n.client.Dictionary
-
public final class Dictionary extends java.lang.ObjectProvides dynamic string lookup of key/value string pairs defined in a module's host HTML page. Each unique instance ofDictionaryis bound to a named JavaScript object that resides in the global namespace of the host page's window object. The bound JavaScript object is used directly as an associative array.For example, suppose you define the following JavaScript object in your host page:
You can then use avar CurrentTheme = { highlightColor: "#FFFFFF", shadowColor: "#808080", errorColor: "#FF0000", errorIconSrc: "stopsign.gif" };Dictionaryto access the key/value pairs above:public void useThemeDictionary() { Dictionary theme = Dictionary.getDictionary("CurrentTheme"); String highlightColor = theme.get("highlightColor"); String shadowColor = theme.get("shadowColor"); applyShadowStyle(highlightColor, shadowColor); String errorColor = theme.get("errorColor"); String errorIconSrc = theme.get("errorIconSrc"); Image errorImg = new Image(errorIconSrc); showError(errorColor, errorImg); }Unlike the family of interfaces that extend
Localizablewhich support static internationalization, theDictionaryclass is fully dynamic. As a result, a variety of error conditions (particularly those involving key mismatches) cannot be caught until runtime. Similarly, the GWT compiler is unable discard unused dictionary values since the structure cannot be statically analyzed.A Caveat Regarding Locale
The module's host page completely determines the mappings defined for each dictionary without regard to thelocaleclient property. Thus,Dictionaryis the most flexible of the internationalization types and may provide the simplest form of integration with existing localization systems which were not specifically designed to use GWT'slocaleclient property.See
Localizablefor background on thelocaleclient property.Required Module
Modules that use this interface should inheritcom.google.gwt.i18n.I18N.<module> <!-- other inherited modules, such as com.google.gwt.user.User --> <inherits name="com.google.gwt.i18n.I18N"/> <!-- additional module settings --> </module>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringget(java.lang.String key)Get the value associated with the given Dictionary key.static DictionarygetDictionary(java.lang.String name)Returns theDictionaryobject associated with the given name.java.util.Set<java.lang.String>keySet()The set of keys associated with this dictionary.(package private) voidresourceError(java.lang.String key)(package private) static voidresourceErrorBadType(java.lang.String name)java.lang.StringtoString()java.util.Collection<java.lang.String>values()Collection of values associated with this dictionary.
-
-
-
Method Detail
-
getDictionary
public static Dictionary getDictionary(java.lang.String name)
Returns theDictionaryobject associated with the given name.- Parameters:
name-- Returns:
- specified dictionary
- Throws:
java.util.MissingResourceException
-
resourceErrorBadType
static void resourceErrorBadType(java.lang.String name)
-
get
public java.lang.String get(java.lang.String key)
Get the value associated with the given Dictionary key. We have to call Object.hasOwnProperty to verify that the value is defined on this object, rather than a superclass, since normal Object properties are also visible on this object.- Parameters:
key- to lookup- Returns:
- the value
- Throws:
java.util.MissingResourceException- if the value is not found
-
keySet
public java.util.Set<java.lang.String> keySet()
The set of keys associated with this dictionary.- Returns:
- the Dictionary set
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
values
public java.util.Collection<java.lang.String> values()
Collection of values associated with this dictionary.- Returns:
- the values
-
resourceError
void resourceError(java.lang.String key)
-
-