Class I18nBundle

  • All Implemented Interfaces:
    Iterable<I18nBundleEntry>

    public class I18nBundle
    extends Object
    implements Iterable<I18nBundleEntry>
    Class to represent a i18n Bundle. A bundle is defined by a resource prefix (eg /tmp/bundle.properties), and a list of locale implemented entries. The property bundlePrefix is the equals order property. The property entries contains all entries defined for this bundle. The method getEntries(Locale) filter entries for a given locale, including scope inclusive property. The method getEntries(I18nBundleScope) filter entries for a given scope, with no inclusive logi. Thoses filter methods return result in the order defines in I18nBundleEntry, e.g
     XXX.properties
     XXX-fr.properties
     XXX-fr_FR.properties
     
    In that way, we can load resource in the good order : load before more general scope to more specialized.
    Author:
    Tony Chemit - chemit@codelutin.com
    See Also:
    I18nBundleScope, I18nBundleEntry
    • Field Detail

      • bundlePrefix

        protected final String bundlePrefix
        le nom du bundle encapsulé (correspond au prefix de l'url de chargement)
    • Constructor Detail

      • I18nBundle

        public I18nBundle​(String bundlePrefix)
    • Method Detail

      • getBundlePrefix

        public String getBundlePrefix()
      • getEntries

        public I18nBundleEntry[] getEntries​(Locale locale)
        Obtain the entries for a given locale, with a inclusive scope search. The order of result respect I18nBundleEntry order.
        Parameters:
        locale - the required locale
        Returns:
        the array of entries matching extacly the locale or one of the lesser scope one.
      • getEntries

        public I18nBundleEntry[] getEntries​(I18nBundleScope scope)
        Obtain the entries for a given scope with no incluvie logic. The order of result respect I18nBundleEntry order.
        Parameters:
        scope - the required scope
        Returns:
        the list of entries matching exactly the given scope
      • size

        public int size()
        Returns:
        number of entries in bundle
      • matchLocale

        protected boolean matchLocale​(Locale locale)