Class I18nBundleUtil

java.lang.Object
org.nuiton.i18n.bundle.I18nBundleUtil

public class I18nBundleUtil
extends java.lang.Object
Usefull methods on bundles. Note: Replace the previous class org.nuiton.i18n.bundle.I18nBundleFactory.
Since:
1.1
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String DIRECTORY_SEARCH_BUNDLE_PATTERN  
    static java.net.URL[] EMPTY_URL_ARRAY  
  • Constructor Summary

    Constructors 
    Constructor Description
    I18nBundleUtil()  
  • Method Summary

    Modifier and Type Method Description
    protected static I18nBundle addBundle​(java.lang.String bundleName, java.util.List<java.lang.String> bundleNames, java.util.List<I18nBundle> bundles)  
    protected static boolean addBundleEntry​(java.net.URL url, I18nBundleScope scope, java.util.List<java.lang.String> bundleNames, java.util.List<I18nBundle> bundles)  
    static java.util.List<I18nBundle> detectBundles​(java.net.URL... urls)
    Detecte les bundles i18n a partir des urls des fichiers de traduction donnes.
    static I18nBundleEntry[] getBundleEntries​(java.util.Locale l, java.util.Locale defaultLocale, boolean promuteGeneral, I18nBundle... bundles)
    Filtrage des entrées de bundles pour une locale donnée.
    static I18nBundleEntry[] getBundleEntries​(java.util.Locale l, java.util.Locale defaultLocale, I18nBundle... bundles)
    Filtrage des entrées de bundles pour une locale donnée.
    static I18nBundleEntry[] getBundleEntries​(I18nBundle... bundles)
    Récupération de toutes les entrées de bundles pour les bundles données.
    static java.lang.String[] getBundleNames​(I18nBundle... bundles)
    Récuperation des noms de bundle par un ensemble de bundles.
    static I18nBundle[] getBundles​(java.util.Locale l, I18nBundle... bundles)
    Filtrage des bundles qui correspondante à la locale donnée.
    static java.util.Locale[] getLocales​(I18nBundle... bundles)
    Récuperation de toutes les locales connus par un ensemble de bundles.
    protected static java.lang.String getSearchBundlePattern()
    Compute the search pattern according to the File.separator on the underlying os.
    static java.net.URL[] getURLs​(java.net.URL... urls)
    Recherche la liste des url de toutes les resources i18n, i.e les urls des fichiers de traduction.
    protected static java.util.List<java.net.URL> getURLsFromDirectory​(java.net.URL incomingURL, java.io.File repository)  
    protected static java.util.List<java.net.URL> getURLsFromJar​(java.net.URL incomingURL, java.io.File jarfile)  
    static boolean isEmpty​(I18nBundle... bundles)
    Teste si un ensemble de bundles contient au moins une entrée.
    protected static I18nBundleEntry[] promuteBundle​(I18nBundle bundle, java.util.Locale l, java.util.Locale defaultLocale, boolean promuteGeneral)
    Obtain some rescue entries for a given locale.
    protected static void promuteFull​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)  
    protected static void promuteGeneral​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result)  
    protected static void promuteLanguage​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • getLocales

      public static java.util.Locale[] getLocales​(I18nBundle... bundles)
      Récuperation de toutes les locales connus par un ensemble de bundles.
      Parameters:
      bundles - les bundles a parcourir
      Returns:
      la liste des locales rencontrées
    • getBundleNames

      public static java.lang.String[] getBundleNames​(I18nBundle... bundles)
      Récuperation des noms de bundle par un ensemble de bundles.
      Parameters:
      bundles - les bundles a parcourir
      Returns:
      la liste des noms de bundle rencontrées
    • getBundles

      public static I18nBundle[] getBundles​(java.util.Locale l, I18nBundle... bundles)
      Filtrage des bundles qui correspondante à la locale donnée.
      Parameters:
      l - la locale à filtrer
      bundles - les bundles a parcourir
      Returns:
      les bundles qui correspondent à la locale donnée.
    • getBundleEntries

      public static I18nBundleEntry[] getBundleEntries​(I18nBundle... bundles)
      Récupération de toutes les entrées de bundles pour les bundles données.
      Parameters:
      bundles - les bundles a parcourir
      Returns:
      toutes les entrées de bundles.
    • getBundleEntries

      public static I18nBundleEntry[] getBundleEntries​(java.util.Locale l, java.util.Locale defaultLocale, I18nBundle... bundles)
      Filtrage des entrées de bundles pour une locale donnée. On essaye de trouver les meilleurs entrées possibles (possibilité de promotion). Note: Cette méthode doit être utilisé pour trouver toutes les entrées à charger par le système i18n pour une locale donnée. Note: Par defaut, on n'effectue pas les promotions générales (getBundleEntries(Locale, Locale, boolean, I18nBundle...)
      Parameters:
      l - la locale à filtrer
      defaultLocale - la locale à utiliser pour les promotions
      bundles - les bundles a parcourir
      Returns:
      les entrées de bundles filtrés.
    • getBundleEntries

      public static I18nBundleEntry[] getBundleEntries​(java.util.Locale l, java.util.Locale defaultLocale, boolean promuteGeneral, I18nBundle... bundles)
      Filtrage des entrées de bundles pour une locale donnée. On essaye de trouver les meilleurs entrées possibles (possibilité de promotion). Note: Cette méthode doit être utilisé pour trouver toutes les entrées à charger par le système i18n pour une locale donnée.
      Parameters:
      l - la locale à filtrer
      defaultLocale - la locale à utiliser pour les promotions
      promuteGeneral - un drapeau pour indiquer si l'on autorise le chargement de la locale par defaut si pour un bundle donne on a pas trouve de traductions pour la locale donnee.
      bundles - les bundles a parcourir
      Returns:
      les entrées de bundles filtrés.
    • getURLs

      public static java.net.URL[] getURLs​(java.net.URL... urls)
      Recherche la liste des url de toutes les resources i18n, i.e les urls des fichiers de traduction.
      Parameters:
      urls - les urls à inspecter pour trouver des resources i18n
      Returns:
      la liste des urls de bundle i18n
    • isEmpty

      public static boolean isEmpty​(I18nBundle... bundles)
      Teste si un ensemble de bundles contient au moins une entrée.
      Parameters:
      bundles - les bundles a parcourir
      Returns:
      true si aucune entree trouvee, false autrement.
    • detectBundles

      public static java.util.List<I18nBundle> detectBundles​(java.net.URL... urls)
      Detecte les bundles i18n a partir des urls des fichiers de traduction donnes. Tous les entrées de bundles sont triees dans l'ordre des scopes i18n.
      Parameters:
      urls - les urls des fichiers de traductions
      Returns:
      la liste des bundle i18n construits à partir des fichiers de traduction donnes.
    • addBundleEntry

      protected static boolean addBundleEntry​(java.net.URL url, I18nBundleScope scope, java.util.List<java.lang.String> bundleNames, java.util.List<I18nBundle> bundles)
    • addBundle

      protected static I18nBundle addBundle​(java.lang.String bundleName, java.util.List<java.lang.String> bundleNames, java.util.List<I18nBundle> bundles)
    • promuteBundle

      protected static I18nBundleEntry[] promuteBundle​(I18nBundle bundle, java.util.Locale l, java.util.Locale defaultLocale, boolean promuteGeneral)
      Obtain some rescue entries for a given locale. Note: Calling this method implies there is no entry matched by the common method getBundleEntries(Locale, Locale, I18nBundle...) returns a empty array.
      Parameters:
      bundle - the bundle to promute
      l - the locale required
      defaultLocale - the default locale to used for promotion
      promuteGeneral - a flag to authorize promotion to default locale
      Returns:
      the table of entries promuted for the given locale
    • promuteFull

      protected static void promuteFull​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)
    • promuteLanguage

      protected static void promuteLanguage​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)
    • promuteGeneral

      protected static void promuteGeneral​(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result)
    • getURLsFromJar

      protected static java.util.List<java.net.URL> getURLsFromJar​(java.net.URL incomingURL, java.io.File jarfile)
    • getSearchBundlePattern

      protected static java.lang.String getSearchBundlePattern()
      Compute the search pattern according to the File.separator on the underlying os. Under linux this is .*i18n/.+\.properties, and under windows this is .*i18n\\\\.+\.properties.
      Returns:
      the correct pattern
      Since:
      2.0
    • getURLsFromDirectory

      protected static java.util.List<java.net.URL> getURLsFromDirectory​(java.net.URL incomingURL, java.io.File repository)