Class LocaleManagerImpl

    • 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 interface LocaleManager
        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 interface LocaleManager
        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 interface LocaleManager
        Parameters:
        baseName - Nom et chemin du fichier properties
        enums - 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 interface LocaleManager
        Parameters:
        baseName - Nom et chemin du fichier properties
        enums - 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 interface LocaleManager
        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 interface LocaleManager
        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 interface LocaleManager
        Returns:
        Locale courante