Class I18nBundle

java.lang.Object
org.nuiton.i18n.bundle.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:
  • Field Details

    • entries

      protected List<I18nBundleEntry> entries
      les entrés du bundle
    • bundlePrefix

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

    • I18nBundle

      public I18nBundle(String bundlePrefix)
  • Method Details

    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getEntries

      protected List<I18nBundleEntry> getEntries()
    • matchLocale

      protected boolean matchLocale(Locale locale)
    • addEntry

      public boolean addEntry(I18nBundleEntry entry)
    • iterator

      public Iterator<I18nBundleEntry> iterator()
      Specified by:
      iterator in interface Iterable<I18nBundleEntry>