Interface MessageService

  • All Superinterfaces:
    org.alfresco.service.cmr.i18n.MessageLookup, org.alfresco.repo.tenant.TenantDeployer
    All Known Implementing Classes:
    MessageServiceImpl

    @AlfrescoPublicApi
    public interface MessageService
    extends org.alfresco.repo.tenant.TenantDeployer, org.alfresco.service.cmr.i18n.MessageLookup
    Utility class providing methods to access the Locale of the current thread and to get Localised strings. These strings may be loaded from resource bundles deployed in the Repository.
    • Method Detail

      • setLocale

        void setLocale​(Locale locale)
        Set the locale for the current thread.
        Parameters:
        locale - the locale
      • getLocale

        Locale getLocale()
        Get the general local for the current thread, will revert to the default locale if none specified for this thread.
        Returns:
        the general locale
      • setContentLocale

        void setContentLocale​(Locale locale)
        Set the content locale for the current thread.
        Parameters:
        locale - the content locale
      • getContentLocale

        Locale getContentLocale()
        Get the content local for the current thread.
        This will revert to getLocale() if no value has been defined.
        Returns:
        Returns the content locale
      • getNearestLocale

        Locale getNearestLocale​(Locale templateLocale,
                                Set<Locale> options)
        Searches for the nearest locale from the available options. To match any locale, pass in null.
        Parameters:
        templateLocale - the template to search for or null to match any locale
        options - the available locales to search from
        Returns:
        Returns the best match from the available options, or the null if all matches fail
      • parseLocale

        Locale parseLocale​(String localeStr)
        Factory method to create a Locale from a lang_country_variant string.
        Parameters:
        localeStr - e.g. fr_FR
        Returns:
        Returns the locale instance, or the default if the string is invalid
      • registerResourceBundle

        void registerResourceBundle​(String bundleBasePath)
        Register a resource bundle.

        This should be the bundle base path eg, alfresco/messages/errors or, workspace://SpaceStore/app:company_home/app:dictionary/app:labels/cm:errors

        Once registered the messages will be available via getMessage, assuming the bundle resource exists at the given path location.

        Parameters:
        bundleBasePath - the bundle base path
      • unregisterResourceBundle

        void unregisterResourceBundle​(String resBundlePath)
        Unregister a resource bundle

        This should be the bundle base path eg alfresco/messages/errors or workspace://SpaceStore/app:company_home/app:dictionary/app:labels/cm:errors

        Once unregistered the messages will no longer be available via getMessage

        Parameters:
        resBundlePath - the bundle base path
      • getRepoResourceBundle

        ResourceBundle getRepoResourceBundle​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                             String path,
                                             Locale locale)
                                      throws IOException
        Get message resource bundle from the repository note: also used by Web Client (ResourceBundleWrapper)
        Parameters:
        storeRef - store ref
        path - repository path (XPath)
        locale - locale
        Returns:
        input stream
        Throws:
        IOException
      • getRegisteredBundles

        Set<String> getRegisteredBundles()
        Get set of registered message resource bundles
        Returns:
        set of registered bundles
      • register

        void register​(MessageDeployer messageDeployer)
        Register message deployer with message service
        Parameters:
        messageDeployer - MessageDeployer
      • getBaseBundleName

        String getBaseBundleName​(String resourceName)