Package org.apache.xmlgraphics.util.i18n
Class LocalizableSupport
java.lang.Object
org.apache.xmlgraphics.util.i18n.LocalizableSupport
- All Implemented Interfaces:
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()).
Note: if no group is specified a LocalizableSupport object belongs to a default group common to each instance of LocalizableSupport.
- Version:
- $Id$ Originally authored by Stephane Hillion.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
The resource bundle classname.protected ClassLoader
The classloader to use to create the resource bundle.protected Locale
The current locale.protected LocaleGroup
The locale group to which this object belongs.protected ResourceBundle
The resourcesprotected Locale
The locale in use. -
Constructor Summary
ConstructorsConstructorDescriptionSame as LocalizableSupport(s, null).LocalizableSupport
(String s, ClassLoader cl) Creates a new Localizable object. -
Method Summary
Modifier and TypeMethodDescriptionformatMessage
(String key, Object[] args) ImplementsLocalizable.formatMessage(String,Object[])
.ImplementsExtendedLocalizable.getDefaultLocale()
.ImplementsLocalizable.getLocale()
.ImplementsExtendedLocalizable.getLocaleGroup()
.ImplementsExtendedLocalizable.getResourceBundle()
.void
ImplementsExtendedLocalizable.setDefaultLocale(Locale)
.void
ImplementsLocalizable.setLocale(Locale)
.void
ImplementsExtendedLocalizable.setLocaleGroup(LocaleGroup)
.
-
Field Details
-
localeGroup
The locale group to which this object belongs. -
bundleName
The resource bundle classname. -
classLoader
The classloader to use to create the resource bundle. -
locale
The current locale. -
usedLocale
The locale in use. -
resourceBundle
The resources
-
-
Constructor Details
-
LocalizableSupport
Same as LocalizableSupport(s, null). -
LocalizableSupport
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:
-
-
Method Details
-
setLocale
ImplementsLocalizable.setLocale(Locale)
.- Specified by:
setLocale
in interfaceLocalizable
- Parameters:
l
- The locale to set.
-
getLocale
ImplementsLocalizable.getLocale()
.- Specified by:
getLocale
in interfaceLocalizable
-
setLocaleGroup
ImplementsExtendedLocalizable.setLocaleGroup(LocaleGroup)
. -
getLocaleGroup
ImplementsExtendedLocalizable.getLocaleGroup()
. -
setDefaultLocale
ImplementsExtendedLocalizable.setDefaultLocale(Locale)
. Later invocations of the instance methods will lead to update the resource bundle used. -
getDefaultLocale
ImplementsExtendedLocalizable.getDefaultLocale()
. -
formatMessage
ImplementsLocalizable.formatMessage(String,Object[])
.- Specified by:
formatMessage
in interfaceLocalizable
- Parameters:
key
- The key used to retreive the message from the resource bundle.args
- The objects that compose the message.
-
getResourceBundle
ImplementsExtendedLocalizable.getResourceBundle()
.
-