Package org.nuiton.i18n.bundle
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.StringDIRECTORY_SEARCH_BUNDLE_PATTERNstatic java.net.URL[]EMPTY_URL_ARRAY -
Constructor Summary
Constructors Constructor Description I18nBundleUtil() -
Method Summary
Modifier and Type Method Description protected static I18nBundleaddBundle(java.lang.String bundleName, java.util.List<java.lang.String> bundleNames, java.util.List<I18nBundle> bundles)protected static booleanaddBundleEntry(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.StringgetSearchBundlePattern()Compute the search pattern according to theFile.separatoron 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 booleanisEmpty(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 voidpromuteFull(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)protected static voidpromuteGeneral(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result)protected static voidpromuteLanguage(I18nBundle bundle, java.util.Locale locale, java.util.Locale defaultLocale, java.util.List<I18nBundleEntry> result, boolean promuteGeneral)
-
Field Details
-
DIRECTORY_SEARCH_BUNDLE_PATTERN
public static final java.lang.String DIRECTORY_SEARCH_BUNDLE_PATTERN- See Also:
- Constant Field Values
-
EMPTY_URL_ARRAY
public static final java.net.URL[] EMPTY_URL_ARRAY
-
-
Constructor Details
-
I18nBundleUtil
public I18nBundleUtil()
-
-
Method Details
-
getLocales
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
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
Filtrage des bundles qui correspondante à la locale donnée.- Parameters:
l- la locale à filtrerbundles- les bundles a parcourir- Returns:
- les bundles qui correspondent à la locale donnée.
-
getBundleEntries
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 à filtrerdefaultLocale- la locale à utiliser pour les promotionsbundles- 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 à filtrerdefaultLocale- la locale à utiliser pour les promotionspromuteGeneral- 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
Teste si un ensemble de bundles contient au moins une entrée.- Parameters:
bundles- les bundles a parcourir- Returns:
truesi aucune entree trouvee,falseautrement.
-
detectBundles
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 methodgetBundleEntries(Locale, Locale, I18nBundle...)returns a empty array.- Parameters:
bundle- the bundle to promutel- the locale requireddefaultLocale- the default locale to used for promotionpromuteGeneral- 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 theFile.separatoron 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)
-