org.alfresco.repo.i18n
Interface MessageService

All Superinterfaces:
org.alfresco.repo.tenant.TenantDeployer
All Known Implementing Classes:
MessageServiceImpl

public interface MessageService
extends org.alfresco.repo.tenant.TenantDeployer

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 Summary
 java.lang.String getBaseBundleName(java.lang.String resourceName)
           
 java.util.Locale getContentLocale()
          Get the content local for the current thread.
This will revert to MessageService.getLocale() if no value has been defined.
 java.util.Locale getLocale()
          Get the general local for the current thread, will revert to the default locale if none specified for this thread.
 java.lang.String getMessage(java.lang.String messageKey)
          Get message from registered resource bundle.
 java.lang.String getMessage(java.lang.String messageKey, java.util.Locale locale)
          Get a localised message string
 java.lang.String getMessage(java.lang.String messageKey, java.util.Locale locale, java.lang.Object[] params)
          Get a localised message string, parameterized using standard MessageFormatter.
 java.lang.String getMessage(java.lang.String messageKey, java.lang.Object[] params)
          Get a localised message string, parameterized using standard MessageFormatter.
 java.util.Locale getNearestLocale(java.util.Locale templateLocale, java.util.Set options)
          Searches for the nearest locale from the available options.
 java.util.Set getRegisteredBundles()
          Get set of registered message resource bundles
 java.util.ResourceBundle getRepoResourceBundle(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String path, java.util.Locale locale)
          Get message resource bundle from the repository note: also used by Web Client (ResourceBundleWrapper)
 java.util.Locale parseLocale(java.lang.String localeStr)
          Factory method to create a Locale from a lang_country_variant string.
 void register(MessageDeployer messageDeployer)
          Register message deployer with message service
 void registerResourceBundle(java.lang.String bundleBasePath)
          Register a resource bundle.
 void setContentLocale(java.util.Locale locale)
          Set the content locale for the current thread.
 void setLocale(java.util.Locale locale)
          Set the locale for the current thread.
 void unregisterResourceBundle(java.lang.String resBundlePath)
          Unregister a resource bundle
 
Methods inherited from interface org.alfresco.repo.tenant.TenantDeployer
destroy, init, onDisableTenant, onEnableTenant
 

Method Detail

setLocale

void setLocale(java.util.Locale locale)
Set the locale for the current thread.

Parameters:
locale - the locale

getLocale

java.util.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(java.util.Locale locale)
Set the content locale for the current thread.

Parameters:
locale - the content locale

getContentLocale

java.util.Locale getContentLocale()
Get the content local for the current thread.
This will revert to MessageService.getLocale() if no value has been defined.

Returns:
Returns the content locale

getNearestLocale

java.util.Locale getNearestLocale(java.util.Locale templateLocale,
                                  java.util.Set 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

java.util.Locale parseLocale(java.lang.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(java.lang.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:
bundleBaseName - the bundle base path

getMessage

java.lang.String getMessage(java.lang.String messageKey)
Get message from registered resource bundle.

Parameters:
messageKey - message key
Returns:
localised message string, null if not found

getMessage

java.lang.String getMessage(java.lang.String messageKey,
                            java.util.Locale locale)
Get a localised message string

Parameters:
messageKey - the message key
locale - override the current locale
Returns:
the localised message string, null if not found

getMessage

java.lang.String getMessage(java.lang.String messageKey,
                            java.lang.Object[] params)
Get a localised message string, parameterized using standard MessageFormatter.

Parameters:
messageKey - message key
params - format parameters
Returns:
the localised string, null if not found

getMessage

java.lang.String getMessage(java.lang.String messageKey,
                            java.util.Locale locale,
                            java.lang.Object[] params)
Get a localised message string, parameterized using standard MessageFormatter.

Parameters:
messageKey - the message key
locale - override current locale
params - the localised message string
Returns:
the localised string, null if not found

unregisterResourceBundle

void unregisterResourceBundle(java.lang.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:
bundleBaseName - the bundle base path

getRepoResourceBundle

java.util.ResourceBundle getRepoResourceBundle(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                               java.lang.String path,
                                               java.util.Locale locale)
                                               throws java.io.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:
java.io.IOException

getRegisteredBundles

java.util.Set 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 -

getBaseBundleName

java.lang.String getBaseBundleName(java.lang.String resourceName)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.