Package org.alfresco.repo.i18n
Class MessageServiceImpl
java.lang.Object
org.alfresco.repo.i18n.MessageServiceImpl
- All Implemented Interfaces:
MessageService,TenantDeployer,MessageLookup
Message Service to get localised messages/strings which have been loaded from resource bundles either dynamically deployed in the Repository and/or statically loaded from the Classpath.
Also provides methods (delegated to core utility class) to access the Locale of the current thread.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()getBaseBundleName(String resourceName) Get the content local for the current thread.
This will revert toMessageService.getLocale()if no value has been defined.Get the general local for the current thread, will revert to the default locale if none specified for this thread.getMessage(String messageKey) getMessage(String messageKey, Object... params) getMessage(String messageKey, Locale locale) getMessage(String messageKey, Locale locale, Object... params) getNearestLocale(Locale templateLocale, Set<Locale> options) Searches for the nearest locale from the available options.protected NodeRefGet set of registered message resource bundlesgetRepoResourceBundle(StoreRef storeRef, String path, Locale locale) Get message resource bundle from the repository note: also used by Web Client (ResourceBundleWrapper)voidinit()voidvoidparseLocale(String localeStr) Factory method to create a Locale from a lang_country_variant string.voidregister(MessageDeployer messageDeployer) Register message deployer with message servicevoidregisterResourceBundle(String resBundlePath) Register a resource bundle.voidreset()Resets the message serviceprotected NodeRefresolveQNamePath(NodeRef rootNodeRef, String[] pathPrefixQNameStrings) voidsetContentLocale(Locale locale) Set the content locale for the current thread.voidsetContentService(ContentService contentService) voidsetLoadedResourceBundlesCache(SimpleCache<String, Map<Locale, Set<String>>> loadedResourceBundlesCache) voidSet the locale for the current thread.voidsetMessagesCache(SimpleCache<String, Map<Locale, Map<String, String>>> messagesCache) voidsetNamespaceService(NamespaceService namespaceService) voidsetNodeService(NodeService nodeService) voidsetResourceBundleBaseNamesCache(SimpleCache<String, Set<String>> resourceBundleBaseNamesCache) voidsetTenantService(TenantService tenantService) voidsetTryLockTimeout(long tryLockTimeout) voidunregisterResourceBundle(String resBundlePath) Unregister a resource bundle
-
Field Details
-
PROPERTIES_FILE_SUFFIX
- See Also:
-
-
Constructor Details
-
MessageServiceImpl
public MessageServiceImpl()
-
-
Method Details
-
setNamespaceService
-
setNodeService
-
setTenantService
-
setContentService
-
setResourceBundleBaseNamesCache
public void setResourceBundleBaseNamesCache(SimpleCache<String, Set<String>> resourceBundleBaseNamesCache) -
setLoadedResourceBundlesCache
-
setMessagesCache
-
setTryLockTimeout
public void setTryLockTimeout(long tryLockTimeout) -
setLocale
Description copied from interface:MessageServiceSet the locale for the current thread.- Specified by:
setLocalein interfaceMessageService- Parameters:
locale- the locale
-
getLocale
Description copied from interface:MessageServiceGet the general local for the current thread, will revert to the default locale if none specified for this thread.- Specified by:
getLocalein interfaceMessageService- Returns:
- the general locale
-
setContentLocale
Description copied from interface:MessageServiceSet the content locale for the current thread.- Specified by:
setContentLocalein interfaceMessageService- Parameters:
locale- the content locale
-
getContentLocale
Description copied from interface:MessageServiceGet the content local for the current thread.
This will revert toMessageService.getLocale()if no value has been defined.- Specified by:
getContentLocalein interfaceMessageService- Returns:
- Returns the content locale
-
getNearestLocale
Description copied from interface:MessageServiceSearches for the nearest locale from the available options. To match any locale, pass in null.- Specified by:
getNearestLocalein interfaceMessageService- Parameters:
templateLocale- the template to search for or null to match any localeoptions- the available locales to search from- Returns:
- Returns the best match from the available options, or the null if all matches fail
-
parseLocale
Description copied from interface:MessageServiceFactory method to create a Locale from a lang_country_variant string.- Specified by:
parseLocalein interfaceMessageService- Parameters:
localeStr- e.g. fr_FR- Returns:
- Returns the locale instance, or the
defaultif the string is invalid
-
registerResourceBundle
Description copied from interface:MessageServiceRegister 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.
- Specified by:
registerResourceBundlein interfaceMessageService- Parameters:
resBundlePath- the bundle base path
-
getMessage
- Specified by:
getMessagein interfaceMessageLookup
-
getMessage
- Specified by:
getMessagein interfaceMessageLookup
-
getMessage
- Specified by:
getMessagein interfaceMessageLookup
-
getMessage
- Specified by:
getMessagein interfaceMessageLookup
-
unregisterResourceBundle
Description copied from interface:MessageServiceUnregister a resource bundleThis 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
- Specified by:
unregisterResourceBundlein interfaceMessageService- Parameters:
resBundlePath- the bundle base path
-
getRepoResourceBundle
public ResourceBundle getRepoResourceBundle(StoreRef storeRef, String path, Locale locale) throws IOException Description copied from interface:MessageServiceGet message resource bundle from the repository note: also used by Web Client (ResourceBundleWrapper)- Specified by:
getRepoResourceBundlein interfaceMessageService- Parameters:
storeRef- store refpath- repository path (XPath)locale- locale- Returns:
- input stream
- Throws:
IOException
-
onEnableTenant
public void onEnableTenant()- Specified by:
onEnableTenantin interfaceTenantDeployer
-
onDisableTenant
public void onDisableTenant()- Specified by:
onDisableTenantin interfaceTenantDeployer
-
init
public void init()- Specified by:
initin interfaceTenantDeployer
-
destroy
public void destroy()- Specified by:
destroyin interfaceTenantDeployer
-
getRegisteredBundles
Description copied from interface:MessageServiceGet set of registered message resource bundles- Specified by:
getRegisteredBundlesin interfaceMessageService- Returns:
- set of registered bundles
-
register
Description copied from interface:MessageServiceRegister message deployer with message service- Specified by:
registerin interfaceMessageService- Parameters:
messageDeployer- MessageDeployer
-
reset
public void reset()Resets the message service -
getBaseBundleName
- Specified by:
getBaseBundleNamein interfaceMessageService
-
getNode
-
resolveQNamePath
-