public final class CmsResourceBundleLoader
extends java.lang.Object
implements java.io.Serializable
The main reason for implementing this is that the Java default resource bundle loading mechanism
provided by ResourceBundle.getBundle(java.lang.String, java.util.Locale) uses a
cache that can NOT be flushed by any standard means. This means for every simple change in a resource
bundle, the Java VM (and the webapp container that runs OpenCms) must be restarted.
This non-standard resource bundle loader avoids this by providing a flushable cache.
In case the requersted bundle can not be found, a fallback mechanism to
ResourceBundle.getBundle(java.lang.String, java.util.Locale) is used to look up
the resource bundle with the Java default resource bundle loading mechanism.
ResourceBundle,
PropertyResourceBundle,
CmsResourceBundle,
Serialized Form| Modifier and Type | Method and Description |
|---|---|
static void |
flushBundleCache()
Flushes the resource bundle cache.
|
static java.util.ResourceBundle |
getBundle(java.lang.String baseName,
java.util.Locale locale)
Get the appropriate ResourceBundle for the given locale.
|
public static void flushBundleCache()
public static java.util.ResourceBundle getBundle(java.lang.String baseName,
java.util.Locale locale)
A sequence of candidate bundle names are generated, and tested in this order, where the suffix 1 means the string from the specified locale, and the suffix 2 means the string from the default locale:
In the sequence, entries with an empty string are ignored. Next,
getBundle tries to instantiate the resource bundle:
If no resource bundle was found, the default resource bundle loader is used to look for the resource bundle. Class based resource bundles will be found now.
baseName - the name of the ResourceBundlelocale - A locale