Class CompositeResourceBundle


  • public class CompositeResourceBundle
    extends java.util.ResourceBundle
    A ResourceBundle which is a composition of two or more decorated bundles. Generally a ResourceBundle already can manage an internal parent bundle. In that case whenever a PropertyResourceBundle is created the parent bundle is set according specified language, country etc. However disadvantage is that fallback options can't be specified and parent bundles can't be set manually.
    This implementation of a ResourceBundle allows free choice of parent bundles as well as control over events, when the fallback bundle shall be used (e.g. when key exists but value is empty).
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.ResourceBundle

        java.util.ResourceBundle.Control
    • Constructor Summary

      Constructors 
      Constructor Description
      CompositeResourceBundle​(java.util.Collection<java.util.ResourceBundle> bundles)
      Constructor.
      CompositeResourceBundle​(java.util.Collection<java.util.ResourceBundle> bundles, int fallback)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.ResourceBundle getBundle​(java.lang.String baseName, java.util.Locale[] locales)
      Similar to ResourceBundle.getBundle(String, Locale) except that multiple Locales can be given to enable fallback strategies.
      static java.util.ResourceBundle getBundle​(java.lang.String baseName, java.util.Locale[] locales, java.lang.ClassLoader loader)
      Similar to ResourceBundle.getBundle(String, Locale, ClassLoader) except that multiple Locales can be given to enable fallback strategies.
      static java.util.ResourceBundle getBundle​(java.util.Collection<java.util.ResourceBundle> bundles)  
      protected java.util.Collection<java.util.ResourceBundle> getBundlesInternal()  
      java.util.Enumeration<java.lang.String> getKeys()  
      protected java.lang.Object handleGetObject​(java.lang.String key)
      Internal.
      Processes fallback strategies.
      boolean isKeyFallbackEnabled()
      Returns whether key fallback is enabled.
      boolean isValueFallbackEnabled()
      Returns whether key fallback is enabled.
      • Methods inherited from class java.util.ResourceBundle

        clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, handleKeySet, keySet, setParent
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CompositeResourceBundle

        public CompositeResourceBundle​(java.util.Collection<java.util.ResourceBundle> bundles)
        Constructor. Creates a composition of bundles and sets a default fallback behavior with KEY_FALLBACK.
        Parameters:
        bundles - collection of ResourceBundle which are used to compose this bundle
      • CompositeResourceBundle

        public CompositeResourceBundle​(java.util.Collection<java.util.ResourceBundle> bundles,
                                       int fallback)
        Constructor. Creates a composition of bundles.
        Parameters:
        bundles - collection of ResourceBundle which are used to compose this bundle
        fallback - fallback options
    • Method Detail

      • isKeyFallbackEnabled

        public boolean isKeyFallbackEnabled()
        Returns whether key fallback is enabled. When true the next bundle is used in case the requested key doesn't exist.
        Returns:
        true when enabled
      • isValueFallbackEnabled

        public boolean isValueFallbackEnabled()
        Returns whether key fallback is enabled. When true the next bundle is used in case a value is empty.
        Returns:
        true when enabled
      • getBundlesInternal

        protected java.util.Collection<java.util.ResourceBundle> getBundlesInternal()
        Returns:
        the bundles
      • getKeys

        public java.util.Enumeration<java.lang.String> getKeys()
        Specified by:
        getKeys in class java.util.ResourceBundle
      • handleGetObject

        protected java.lang.Object handleGetObject​(java.lang.String key)
        Internal.
        Processes fallback strategies.
        Specified by:
        handleGetObject in class java.util.ResourceBundle
        Parameters:
        key - ressourcebundle key
      • getBundle

        public static java.util.ResourceBundle getBundle​(java.lang.String baseName,
                                                         java.util.Locale[] locales)
        Similar to ResourceBundle.getBundle(String, Locale) except that multiple Locales can be given to enable fallback strategies.
        Parameters:
        baseName -
        locales -
        Returns:
        ResourceBundle
      • getBundle

        public static java.util.ResourceBundle getBundle​(java.lang.String baseName,
                                                         java.util.Locale[] locales,
                                                         java.lang.ClassLoader loader)
        Similar to ResourceBundle.getBundle(String, Locale, ClassLoader) except that multiple Locales can be given to enable fallback strategies.
        Parameters:
        baseName -
        locales -
        loader -
      • getBundle

        public static java.util.ResourceBundle getBundle​(java.util.Collection<java.util.ResourceBundle> bundles)
        Parameters:
        bundles - the collection of bundles. Fallback strategies are provided via order of these resource bundles.
        Returns:
        ResourceBundle