Package io.vertigo.core.impl.locale
Class LocaleManagerImpl
- java.lang.Object
-
- io.vertigo.core.impl.locale.LocaleManagerImpl
-
- All Implemented Interfaces:
LocaleManager
,Component
,CoreComponent
,Manager
public final class LocaleManagerImpl extends Object implements LocaleManager
- Author:
- pchretien
-
-
Constructor Summary
Constructors Constructor Description LocaleManagerImpl(String locales, Optional<String> defaultZoneId)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String baseName, MessageKey[] enums)
Ajout d'un dictionnaire de ressources.Locale
getCurrentLocale()
Retourne la locale courante.ZoneId
getCurrentZoneId()
Retourne la time zone courante.String
getMessage(MessageKey messageKey, Locale locale)
Retourne le libellé non formatté d'un message identifié par sa clé.void
override(String baseName, MessageKey[] enums)
Surcharge d'un dictionnaire de ressources.void
registerLocaleSupplier(Supplier<Locale> newLocaleSupplier)
Register a strategy to choose a locale.void
registerZoneSupplier(Supplier<ZoneId> newZoneSupplier)
Register a strategy to choose a zone.
-
-
-
Constructor Detail
-
LocaleManagerImpl
@Inject public LocaleManagerImpl(String locales, Optional<String> defaultZoneId)
Constructor. Les exceptions sont toujours externalisées. Les libellés de champs ne le sont pas. La première Locale est celle utilisée si il n'y a aucun utilisateur déclaré (cas des batchs). On précise la liste des locales sous la forme d'une chaine de caractères exemples : Locale.french : 'fr' Locale.FRANCE + Locale.us : 'fr_FR,us' Une locale est définie par une langue{_Pays{_Variante}}- Parameters:
locales
- Liste des locales gérées par l'application.defaultZoneId
- ZoneId par défaut utilisée par l'application.
-
-
Method Detail
-
registerZoneSupplier
public void registerZoneSupplier(Supplier<ZoneId> newZoneSupplier)
Register a strategy to choose a zone.- Specified by:
registerZoneSupplier
in interfaceLocaleManager
- Parameters:
newZoneSupplier
- Supply a zone in a context
-
registerLocaleSupplier
public void registerLocaleSupplier(Supplier<Locale> newLocaleSupplier)
Register a strategy to choose a locale.- Specified by:
registerLocaleSupplier
in interfaceLocaleManager
- Parameters:
newLocaleSupplier
- Supply a locale in a context
-
add
public void add(String baseName, MessageKey[] enums)
Ajout d'un dictionnaire de ressources. Toutes les ressources identifiées par une clé doivent être présente dans le fichier properties. Cette méthode est non synchronisée etdoit être appelée lors du démarrage de l'application.- Specified by:
add
in interfaceLocaleManager
- Parameters:
baseName
- Nom et chemin du fichier propertiesenums
- Enumération (enum) de contrôle des ressources géréees
-
override
public void override(String baseName, MessageKey[] enums)
Surcharge d'un dictionnaire de ressources. Cette méthode est non synchronisée et doit être appelée lors du démarrage de l'application. Il est possible de ne surcharger qu'une propriété. Il est possible de ne renseigner qu'un des dictionnaire (et donc de ne pas renseigner tous les bundles).- Specified by:
override
in interfaceLocaleManager
- Parameters:
baseName
- Nom et chemin du fichier propertiesenums
- Enumération (enum) de contrôle des ressources géréees
-
getMessage
public String getMessage(MessageKey messageKey, Locale locale)
Retourne le libellé non formatté d'un message identifié par sa clé. Retourne null si le message n'est pas trouvé- Specified by:
getMessage
in interfaceLocaleManager
- Parameters:
messageKey
- clé du message .locale
- Locale- Returns:
- Message non formatté dans la langue de la locale.
-
getCurrentZoneId
public ZoneId getCurrentZoneId()
Retourne la time zone courante. C'est à dire correspondant à l'utilisateur courant si il y en a un, sinon correspond à la time zone de l'application.- Specified by:
getCurrentZoneId
in interfaceLocaleManager
- Returns:
- Zone courante
-
getCurrentLocale
public Locale getCurrentLocale()
Retourne la locale courante. C'est à dire correspondant à l'utilisateur courant si il y en a un, sinon correspond à la locale de l'application.- Specified by:
getCurrentLocale
in interfaceLocaleManager
- Returns:
- Locale courante
-
-