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

## org.apache.batik.i18n
Class LocalizableSupport

    java.lang.Object
      org.apache.batik.i18n.LocalizableSupport

All Implemented Interfaces:
  Localizable

    public class LocalizableSupport

extends Object
implements Localizable

This class provides a default implementation of the Localizable interface. You can use it as a base class or as a member field and delegates various work to it.

For example, to implement Localizable, the following code can be used:

      package mypackage;
      ...
      public class MyClass implements Localizable {
          // This code fragment requires a file named
          // 'mypackage/resources/Messages.properties', or a
          // 'mypackage.resources.Messages' class which extends
          // java.util.ResourceBundle, accessible using the current
          // classpath.
          LocalizableSupport localizableSupport =
              new LocalizableSupport("mypackage.resources.Messages");

          public void setLocale(Locale l) {
              localizableSupport.setLocale(l);
          }
          public Local getLocale() {
              return localizableSupport.getLocale();
          }
          public String formatMessage(String key, Object[] args) {
              return localizableSupport.formatMessage(key, args);
          }
      }

The algorithm for the Locale lookup in a LocalizableSupport object is:

- if a Locale has been set by a call to setLocale(), use this Locale, else,
- if a Locale has been set by a call to the setDefaultLocale() method of a LocalizableSupport object in the current LocaleGroup, use this Locale, else,
- use the object returned by Locale.getDefault() (and set by Locale.setDefault()).

This offers the possibility to have a different Locale for each object, a Locale for a group of object and/or a Locale for the JVM instance.

Note: if no group is specified a LocalizableSupport object belongs to a default group common to each instance of LocalizableSupport.

Field Summary
`protected String` | `bundleName` The resource bundle classname.
`protected ClassLoader` | `classLoader` The classloader to use to create the resource bundle.
`protected Locale` | `locale` The current locale.
`protected LocaleGroup` | `localeGroup` The locale group to which this object belongs.
`protected Locale` | `usedLocale` The locale in use.

Constructor Summary
`LocalizableSupport(String s)` Same as LocalizableSupport(s, null).
`LocalizableSupport(String s, Class cls)` Same as LocalizableSupport(cls, null).
`LocalizableSupport(String s, Class cls, ClassLoader cl)` Same as LocalizableSupport(cls, null).
`LocalizableSupport(String s, ClassLoader cl)` Creates a new Localizable object.

Method Summary
`String` | `formatMessage(String key, Object[] args)` Implements `Localizable.formatMessage(String,Object[])`.
`int` | `getCharacter(String key)`
`protected Locale` | `getCurrentLocale()`
`Locale` | `getDefaultLocale()` Implements `ExtendedLocalizable.getDefaultLocale()`.
`int` | `getInteger(String key)` Returns the integer mapped with the given string
`Locale` | `getLocale()` Implements `Localizable.getLocale()`.
`LocaleGroup` | `getLocaleGroup()` Implements `ExtendedLocalizable.getLocaleGroup()`.
`ResourceBundle` | `getResourceBundle()` Here for backwards compatability
`protected ResourceBundle` | `getResourceBundle(int i)`
`String` | `getString(String key)`
`protected boolean` | `hasNextResourceBundle(int i)`
`protected ResourceBundle` | `lookupResourceBundle(String bundle, Class theClass)`
`void` | `setDefaultLocale(Locale l)` Implements `ExtendedLocalizable.setDefaultLocale(Locale)`.
`void` | `setLocale(Locale l)` Implements `Localizable.setLocale(Locale)`.
`void` | `setLocaleGroup(LocaleGroup lg)` Implements `ExtendedLocalizable.setLocaleGroup(LocaleGroup)`.
`protected boolean` | `setUsedLocale()` returns true if the locale is different from the previously used locale.

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

Field Detail

### localeGroup

    protected LocaleGroup localeGroup

  The locale group to which this object belongs.

### bundleName

    protected String bundleName

  The resource bundle classname.

### classLoader

    protected ClassLoader classLoader

  The classloader to use to create the resource bundle.

### locale

    protected Locale locale

  The current locale.

### usedLocale

    protected Locale usedLocale

  The locale in use.

Constructor Detail

### LocalizableSupport

    public LocalizableSupport(String s,
                              Class cls)

  Same as LocalizableSupport(cls, null).

### LocalizableSupport

    public LocalizableSupport(String s,
                              Class cls,
                              ClassLoader cl)

  Same as LocalizableSupport(cls, null).

### LocalizableSupport

    public LocalizableSupport(String s)

  Same as LocalizableSupport(s, null).

### LocalizableSupport

    public LocalizableSupport(String s,
                              ClassLoader cl)

  Creates a new Localizable object. The resource bundle class name is required allows the use of custom classes of resource bundles.

  Parameters:
    `s` - must be the name of the class to use to get the appropriate resource bundle given the current locale.
    `cl` - is the classloader used to create the resource bundle, or null.
  See Also:
    `ResourceBundle`

Method Detail

### setLocale

    public void setLocale(Locale l)

  Implements `Localizable.setLocale(Locale)`.

  Specified by:
    `setLocale` in interface `Localizable`
  Parameters:
    `l` - The locale to set.

### getLocale

    public Locale getLocale()

  Implements `Localizable.getLocale()`.

  Specified by:
    `getLocale` in interface `Localizable`

### setLocaleGroup

    public void setLocaleGroup(LocaleGroup lg)

  Implements `ExtendedLocalizable.setLocaleGroup(LocaleGroup)`.

### getLocaleGroup

    public LocaleGroup getLocaleGroup()

  Implements `ExtendedLocalizable.getLocaleGroup()`.

### setDefaultLocale

    public void setDefaultLocale(Locale l)

  Implements `ExtendedLocalizable.setDefaultLocale(Locale)`. Later invocations of the instance methods will lead to update the resource bundle used.

### getDefaultLocale

    public Locale getDefaultLocale()

  Implements `ExtendedLocalizable.getDefaultLocale()`.

### formatMessage

    public String formatMessage(String key,
                                Object[] args)

  Implements `Localizable.formatMessage(String,Object[])`.

  Specified by:
    `formatMessage` in interface `Localizable`
  Parameters:
    `key` - The key used to retreive the message from the resource bundle.
    `args` - The objects that compose the message.

### getCurrentLocale

    protected Locale getCurrentLocale()

### setUsedLocale

    protected boolean setUsedLocale()

  returns true if the locale is different from the previously used locale. Also sets 'usedLocale' to the current locale.

### getResourceBundle

    public ResourceBundle getResourceBundle()

  Here for backwards compatability

### hasNextResourceBundle

    protected boolean hasNextResourceBundle(int i)

### lookupResourceBundle

    protected ResourceBundle lookupResourceBundle(String bundle,
                                                  Class theClass)

### getResourceBundle

    protected ResourceBundle getResourceBundle(int i)

### getString

    public String getString(String key)
                     throws MissingResourceException

  Throws:
    `MissingResourceException`

### getInteger

    public int getInteger(String key)
                   throws MissingResourceException

  Returns the integer mapped with the given string

  Parameters:
    `key` - a key of the resource bundle
  Throws:
    `MissingResourceException` - if key is not the name of a resource

### getCharacter

    public int getCharacter(String key)
                     throws MissingResourceException

  Throws:
    `MissingResourceException`

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

Copyright © 2008 Apache Software Foundation. All Rights Reserved.