org.apache.batik.i18n
Class LocalizableSupport

java.lang.Object
  |
  +--org.apache.batik.i18n.LocalizableSupport
All Implemented Interfaces:
Localizable

public class LocalizableSupport
extends java.lang.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: 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  java.lang.String bundleName
          The resource bundle classname.
protected  java.lang.ClassLoader classLoader
          The classloader to use to create the resource bundle.
protected  java.util.Locale locale
          The current locale.
protected  LocaleGroup localeGroup
          The locale group to which this object belongs.
protected  java.util.ResourceBundle resourceBundle
          The resources
protected  java.util.Locale usedLocale
          The locale in use.
 
Constructor Summary
LocalizableSupport(java.lang.String s)
          Same as LocalizableSupport(s, null).
LocalizableSupport(java.lang.String s, java.lang.ClassLoader cl)
          Creates a new Localizable object.
 
Method Summary
 java.lang.String formatMessage(java.lang.String key, java.lang.Object[] args)
          Implements Localizable.formatMessage(String,Object[]).
 java.util.Locale getDefaultLocale()
          Implements ExtendedLocalizable.getDefaultLocale().
 java.util.Locale getLocale()
          Implements Localizable.getLocale().
 LocaleGroup getLocaleGroup()
          Implements ExtendedLocalizable.getLocaleGroup().
 java.util.ResourceBundle getResourceBundle()
          Implements ExtendedLocalizable.getResourceBundle().
 void setDefaultLocale(java.util.Locale l)
          Implements ExtendedLocalizable.setDefaultLocale(Locale).
 void setLocale(java.util.Locale l)
          Implements Localizable.setLocale(Locale).
 void setLocaleGroup(LocaleGroup lg)
          Implements ExtendedLocalizable.setLocaleGroup(LocaleGroup).
 
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 java.lang.String bundleName
The resource bundle classname.

classLoader

protected java.lang.ClassLoader classLoader
The classloader to use to create the resource bundle.

locale

protected java.util.Locale locale
The current locale.

usedLocale

protected java.util.Locale usedLocale
The locale in use.

resourceBundle

protected java.util.ResourceBundle resourceBundle
The resources
Constructor Detail

LocalizableSupport

public LocalizableSupport(java.lang.String s)
Same as LocalizableSupport(s, null).

LocalizableSupport

public LocalizableSupport(java.lang.String s,
                          java.lang.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(java.util.Locale l)
Implements Localizable.setLocale(Locale).
Specified by:
setLocale in interface Localizable
Following copied from interface: org.apache.batik.i18n.Localizable
Parameters:
l - The locale to set.

getLocale

public java.util.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(java.util.Locale l)
Implements ExtendedLocalizable.setDefaultLocale(Locale). Later invocations of the instance methods will lead to update the resource bundle used.

getDefaultLocale

public java.util.Locale getDefaultLocale()
Implements ExtendedLocalizable.getDefaultLocale().

formatMessage

public java.lang.String formatMessage(java.lang.String key,
                                      java.lang.Object[] args)
Implements Localizable.formatMessage(String,Object[]).
Specified by:
formatMessage in interface Localizable
Following copied from interface: org.apache.batik.i18n.Localizable
Parameters:
key - The key used to retreive the message from the resource bundle.
args - The objects that compose the message.
Throws:
java.util.MissingResourceException - if the key is not in the bundle.

getResourceBundle

public java.util.ResourceBundle getResourceBundle()
Implements ExtendedLocalizable.getResourceBundle().


Copyright © 2002 Apache Software Foundation. All Rights Reserved.