Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.i18n.client
Class Dictionary

    java.lang.Object
      com.google.gwt.i18n.client.Dictionary

    public final class Dictionary

extends java.lang.Object

Provides dynamic string lookup of key/value string pairs defined in a module's host HTML page. Each unique instance of `Dictionary` is 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:

>     var CurrentTheme = {
>       highlightColor: "#FFFFFF",
>       shadowColor: "#808080",
>       errorColor: "#FF0000",
>       errorIconSrc: "stopsign.gif"
>     };

You can then use a `Dictionary` to 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 `Localizable` which support static internationalization, the `Dictionary` class 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 the `locale` client property. Thus, `Dictionary` is 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's `locale` client property.

See `Localizable` for background on the `locale` client property.

### Required Module

Modules that use this interface should inherit `com.google.gwt.i18n.I18N`.

>     <!--                                                                        -->
>     <!-- Copyright 2007 Google Inc.                                             -->
>     <!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
>     <!-- may not use this file except in compliance with the License. You may   -->
>     <!-- may obtain a copy of the License at                                    -->
>     <!--                                                                        -->
>     <!-- http://www.apache.org/licenses/LICENSE-2.0                             -->
>     <!--                                                                        -->
>     <!-- Unless required by applicable law or agreed to in writing, software    -->
>     <!-- distributed under the License is distributed on an "AS IS" BASIS,      -->
>     <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or        -->
>     <!-- implied. License for the specific language governing permissions and   -->
>     <!-- limitations under the License.                                         -->

>     <module>
>       <!-- other inherited modules, such as com.google.gwt.user.User -->
>       <inherits name="com.google.gwt.i18n.I18N"/>
>       <!-- additional module settings -->
>     </module>

Method Summary
`java.lang.String` | `get(java.lang.String key)` Get the value associated with the given Dictionary key.
`static Dictionary` | `getDictionary(java.lang.String name)` Returns the `Dictionary` object associated with the given name.
`java.util.Set` | `keySet()` The set of keys associated with this dictionary.
`java.lang.String` | `toString()`
`java.util.Collection` | `values()` Collection of values associated with this dictionary.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Method Detail

### getDictionary

    public static Dictionary getDictionary(java.lang.String name)

  Returns the `Dictionary` object associated with the given name.

  Parameters:
    `name` -
  Returns:
    specified dictionary
  Throws:
    `java.util.MissingResourceException`

### 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 keySet()

  The set of keys associated with this dictionary.

  Returns:
    the Dictionary set

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### values

    public java.util.Collection values()

  Collection of values associated with this dictionary.

  Returns:
    the values

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD