org.nuiton.i18n
Class I18nLoader

java.lang.Object
  extended by org.nuiton.i18n.I18nLoader

public class I18nLoader
extends Object

Classe responsible of loading of I18n system.

Contains the current used language (can be null, if not set), and the list of already loaded languages.

Note: Init methods are package acces and should not be used alone, but within I18n class init(XXX) methods.

Author:
chemit

Field Summary
protected  org.nuiton.i18n.bundle.I18nBundle[] bundles
          le cache de bundles deja charges
protected  Locale defaultLocale
          la locale par defaut a utiliser
protected  Language language
          le language actuellement utilise
protected  List<Language> languages
          le cache de languages deja charges
protected  String uniqueBundleName
          le nom de l'unique bunlde a charger (mode unique)
protected static URL[] urls
          le cache des urls de recheche des bundles
 
Constructor Summary
I18nLoader(Locale defaultLocale)
           
I18nLoader(Locale defaultLocale, String uniqueBundleName)
           
 
Method Summary
 org.nuiton.i18n.bundle.I18nBundleEntry[] getBundleEntries()
           
 org.nuiton.i18n.bundle.I18nBundleEntry[] getBundleEntries(Locale l)
           
 org.nuiton.i18n.bundle.I18nBundle[] getBundles()
           
 org.nuiton.i18n.bundle.I18nBundle[] getBundles(Locale l)
           
 Locale getDefaultLocale()
           
 Language getLanguage()
           
 List<Language> getLanguages()
           
 Locale[] getLocales()
           
static URL[] getURLs(URLClassLoader loader)
          Detecte les urls de toutes les entrees de bunbles sur tout un classLoader.
static URL[] getURLs(URLClassLoader loader, URL... extraUrl)
          Recherche la liste des url de toutes les resources i18n, i.e les urls des fichiers de traduction.
 boolean isEmpty()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

language

protected Language language
le language actuellement utilise


languages

protected List<Language> languages
le cache de languages deja charges


urls

protected static URL[] urls
le cache des urls de recheche des bundles


bundles

protected org.nuiton.i18n.bundle.I18nBundle[] bundles
le cache de bundles deja charges


defaultLocale

protected final Locale defaultLocale
la locale par defaut a utiliser


uniqueBundleName

protected final String uniqueBundleName
le nom de l'unique bunlde a charger (mode unique)

Constructor Detail

I18nLoader

public I18nLoader(Locale defaultLocale)

I18nLoader

public I18nLoader(Locale defaultLocale,
                  String uniqueBundleName)
Method Detail

getLanguage

public Language getLanguage()
Returns:
current language loaded or null, if no language was load

getLanguages

public List<Language> getLanguages()
Returns:
le cache de language avec instanciation paresseuse

getDefaultLocale

public Locale getDefaultLocale()

isEmpty

public boolean isEmpty()

getLocales

public Locale[] getLocales()
Returns:
array of all locales loaded

getBundles

public org.nuiton.i18n.bundle.I18nBundle[] getBundles()

getBundles

public org.nuiton.i18n.bundle.I18nBundle[] getBundles(Locale l)

getBundleEntries

public org.nuiton.i18n.bundle.I18nBundleEntry[] getBundleEntries()

getBundleEntries

public org.nuiton.i18n.bundle.I18nBundleEntry[] getBundleEntries(Locale l)

getURLs

public static URL[] getURLs(URLClassLoader loader)
Detecte les urls de toutes les entrees de bunbles sur tout un classLoader. Il s'agit du mode initialie de detection des entréés de bundles, i.e des fichiers de traductions. Note: Cette methode devient couteuse des que le classLoader contient de nombreuses entrées. Il est meiux d'utiliser le second type de chargement qui n'utilise qu'un seul fichier de traduction unifié.

Parameters:
loader - le classloader a utiliser pour trouver les resources.
Returns:
les urls des entrees de bundles

getURLs

public static URL[] getURLs(URLClassLoader loader,
                            URL... extraUrl)
Recherche la liste des url de toutes les resources i18n, i.e les urls des fichiers de traduction.

Parameters:
loader - le classLoader où trouver les bundles
extraUrl - des urls de resources i18n deja calcule, à ajouter au resultat sans traitement particulier
Returns:
la liste des urls de bundle i18n pour la langue donné


Copyright © 2004-2009 CodeLutin. All Rights Reserved.