org.xnap.commons.i18n

Class I18nManager

public class I18nManager extends Object

Manager class that maintains a set of I18n objects and LocaleChangeListener objects.

The locale of all managed I18n objects can be changed by invoking setDefaultLocale.

Since: 0.9

Author: Felix Berger Steffen Pingel

Method Summary
voidadd(I18n i18n)
Adds i18n to the list of managed I18n objects.
voidaddLocaleChangeListener(LocaleChangeListener listener)
Adds a listener that is notified when the default locale has been changed.
voidaddWeakLocaleChangeListener(LocaleChangeListener listener)
Adds a listener that is notified when the default locale has been changed using a WeakReference.
protected voidfireLocaleChangedEvent(Locale newLocale)
Notifies listeners of a locale change.
static I18nManagergetInstance()
Returns the global I18Manger singleton.
voidremove(I18n i18n)
Removes i18n from the list of managed I18n objects.
voidremoveLocaleChangeListener(LocaleChangeListener listener)
Removes listener from the list of objects that are notified when the locale has changed.
voidsetDefaultLocale(Locale locale)
Sets the locale for all I18n instances that were instantiated through the factory.

Method Detail

add

public void add(I18n i18n)
Adds i18n to the list of managed I18n objects.

Parameters: i18n the I18n instance

Since: 0.9

See Also: setDefaultLocale remove

addLocaleChangeListener

public void addLocaleChangeListener(LocaleChangeListener listener)
Adds a listener that is notified when the default locale has been changed.

Parameters: listener the listener

Since: 0.9

See Also: setDefaultLocale

addWeakLocaleChangeListener

public void addWeakLocaleChangeListener(LocaleChangeListener listener)
Adds a listener that is notified when the default locale has been changed using a WeakReference. The listener is removed when it has been cleaned up by the garbage collection.

This is useful for temporary objects that may have an indeterminate lifetime such as dialogs.

Parameters: listener the listener

Since: 0.9

See Also: setDefaultLocale

fireLocaleChangedEvent

protected void fireLocaleChangedEvent(Locale newLocale)
Notifies listeners of a locale change.

Parameters: newLocale new locale

Since: 0.9

getInstance

public static I18nManager getInstance()
Returns the global I18Manger singleton.

Returns: the I18Manger instance

Since: 0.9

remove

public void remove(I18n i18n)
Removes i18n from the list of managed I18n objects.

Parameters: i18n the I18n instance

Since: 0.9

See Also: add

removeLocaleChangeListener

public void removeLocaleChangeListener(LocaleChangeListener listener)
Removes listener from the list of objects that are notified when the locale has changed.

Parameters: listener the listener

Since: 0.9

setDefaultLocale

public void setDefaultLocale(Locale locale)
Sets the locale for all I18n instances that were instantiated through the factory.

Use this method to globally change the locale for all I18n based translations.

NOTE: This only works if the objects that display messages do not cache translated messages.

Parameters: locale the new default locale

Since: 0.9

See Also: setLocale