Interface MessageService

All Superinterfaces:
MessageLookup, TenantDeployer
All Known Implementing Classes:
MessageServiceImpl

@AlfrescoPublicApi public interface MessageService extends TenantDeployer, 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 Details

    • 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(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)