Package org.zkoss.util.resource
Class PropertyBundle
- java.lang.Object
-
- org.zkoss.util.resource.PropertyBundle
-
public class PropertyBundle extends java.lang.ObjectThe property bundle.It is similar to java.util.ResourceBundle, but they differ as follows.
- It uses
Maps.load(Map, InputStream)to load the properties. Thus, It is capable to handle UTF-16 and UTF-8 (but not ISO-8859-1). - The locator could be any object as long as it implements
InputStream getResourceAsStream(String). - It supports only property files.
- The getBundle method returns null if the resource not found, while ResourceBundle throws MissingResourceException.
Instances of PropertyBundle are cached, so the performance is good. However, it implies the property file mapped by the giving class loader, name and locale is immutable. In other words, if you update the content of a property file, it might not be reflected to getString unless it is cleared out of the cache.
Thread safe.
- Author:
- tomyeh
- It uses
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPropertyBundle(java.lang.String baseName, java.util.Locale locale, Locator locator, boolean caseInsensitive)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PropertyBundlegetBundle(java.lang.String baseName, java.util.Locale locale)Gets a resource bundle using the specified base name, locale, and the default locator,Locators.getDefault().static PropertyBundlegetBundle(java.lang.String baseName, java.util.Locale locale, boolean caseInsensitive)Gets a resource bundle using the specified base name, locale, and the default locator,Locators.getDefault().static PropertyBundlegetBundle(java.lang.String baseName, java.util.Locale locale, Locator locator)Gets a resource bundle using the specified base name, locale, and locator.static PropertyBundlegetBundle(java.lang.String baseName, java.util.Locale locale, Locator locator, boolean caseInsensitive)Gets a resource bundle using the specified base name, locale, and locator.java.util.LocalegetLocale()Returns the locale of the bundle, or null if it is the default.java.util.Map<java.lang.String,java.lang.String>getProperties()Returns a map of all properties, (String key , String value).java.lang.StringgetProperty(java.lang.String key)Returns the property for the given key from this resource bundle or one of its parents.
-
-
-
Constructor Detail
-
PropertyBundle
protected PropertyBundle(java.lang.String baseName, java.util.Locale locale, Locator locator, boolean caseInsensitive)Constructor.- Parameters:
caseInsensitive- whether the key used to access the map is case-insensitive. If true, all keys are converted to lower cases.
-
-
Method Detail
-
getBundle
public static final PropertyBundle getBundle(java.lang.String baseName, java.util.Locale locale, Locator locator, boolean caseInsensitive)
Gets a resource bundle using the specified base name, locale, and locator.- Parameters:
locator- the locator (never null). SeeLocators.getDefault().caseInsensitive- whether the key used to access the map is case-insensitive. If true, all keys are converted to lower cases.- Returns:
- the bundle; null if not found
-
getBundle
public static final PropertyBundle getBundle(java.lang.String baseName, java.util.Locale locale, Locator locator)
Gets a resource bundle using the specified base name, locale, and locator.
-
getBundle
public static final PropertyBundle getBundle(java.lang.String baseName, java.util.Locale locale, boolean caseInsensitive)
Gets a resource bundle using the specified base name, locale, and the default locator,Locators.getDefault().- Parameters:
caseInsensitive- whether the key used to access the map is case-insensitive. If true, all keys are converted to lower cases.- Returns:
- the bundle; null if not found
-
getBundle
public static final PropertyBundle getBundle(java.lang.String baseName, java.util.Locale locale)
Gets a resource bundle using the specified base name, locale, and the default locator,Locators.getDefault().
-
getProperty
public final java.lang.String getProperty(java.lang.String key)
Returns the property for the given key from this resource bundle or one of its parents.
-
getProperties
public final java.util.Map<java.lang.String,java.lang.String> getProperties()
Returns a map of all properties, (String key , String value).
-
getLocale
public final java.util.Locale getLocale()
Returns the locale of the bundle, or null if it is the default. Note: it is value might not be the same as the locale being passed to the constructor, because the constructor will do some fallback.
-
-