public class PluginAwareResourceBundleMessageSource extends ReloadableResourceBundleMessageSource implements GrailsApplicationAware, PluginManagerAware, org.springframework.beans.factory.InitializingBean
A ReloadableResourceBundleMessageSource that is capable of loading message sources from plugins.
Modifiers | Name | Description |
---|---|---|
private static java.lang.String |
GRAILS_APP_I18N_PATH_COMPONENT |
|
protected GrailsApplication |
application |
|
private java.util.concurrent.ConcurrentMap<java.util.Locale, CacheEntry<PropertiesHolder>> |
cachedMergedBinaryPluginProperties |
|
private java.util.concurrent.ConcurrentMap<java.util.Locale, CacheEntry<PropertiesHolder>> |
cachedMergedPluginProperties |
|
private org.springframework.core.io.ResourceLoader |
localResourceLoader |
|
private java.lang.String |
messageBundleLocationPattern |
|
protected java.util.List<java.lang.String> |
pluginBaseNames |
|
private long |
pluginCacheMillis |
|
protected GrailsPluginManager |
pluginManager |
|
private org.springframework.core.io.support.PathMatchingResourcePatternResolver |
resourceResolver |
|
private boolean |
searchClasspath |
Fields inherited from class | Fields |
---|---|
class ReloadableResourceBundleMessageSource |
PROPERTIES_SUFFIX, XML_SUFFIX, basenames, cacheMillis, cachedFilenames, cachedMergedProperties, cachedProperties, cachedResources, defaultEncoding, fallbackToSystemLocale, fileCacheMillis, fileEncodings, propertiesPersister, resourceLoader |
Constructor and description |
---|
PluginAwareResourceBundleMessageSource
() |
PluginAwareResourceBundleMessageSource
(GrailsApplication application, GrailsPluginManager pluginManager) |
Type Params | Return Type | Name and description |
---|---|---|
|
public boolean |
accept(java.io.File dir, java.lang.String name) |
|
public void |
afterPropertiesSet() |
|
public ReloadableResourceBundleMessageSource.PropertiesHolder |
call() |
|
public ReloadableResourceBundleMessageSource.PropertiesHolder |
call() |
|
private java.lang.String |
findCodeInBinaryPlugins(java.lang.String code, java.util.Locale locale) |
|
private java.text.MessageFormat |
findMessageFormatInBinaryPlugins(java.lang.String code, java.util.Locale locale) |
|
protected ReloadableResourceBundleMessageSource.PropertiesHolder |
getMergedBinaryPluginProperties(java.util.Locale locale) |
|
protected ReloadableResourceBundleMessageSource.PropertiesHolder |
getMergedPluginProperties(java.util.Locale locale) Get a PropertiesHolder that contains the actually visible properties for a Locale, after merging all specified resource bundles. |
|
protected void |
mergeBinaryPluginProperties(java.util.Locale locale, java.util.Properties mergedProps) |
|
protected java.text.MessageFormat |
resolveCode(java.lang.String code, java.util.Locale locale) |
|
protected java.text.MessageFormat |
resolveCodeFromPlugins(java.lang.String code, java.util.Locale locale) Attempts to resolve a MessageFormat for the code from the list of plugin base names |
|
protected java.lang.String |
resolveCodeWithoutArguments(java.lang.String code, java.util.Locale locale) |
|
protected java.lang.String |
resolveCodeWithoutArgumentsFromPlugins(java.lang.String code, java.util.Locale locale) Attempts to resolve a String for the code from the list of plugin base names |
|
public void |
setGrailsApplication(GrailsApplication grailsApplication) |
|
public void |
setMessageBundleLocationPattern(java.lang.String messageBundleLocationPattern) The location pattern for message bundles |
|
public void |
setPluginCacheSeconds(int pluginCacheSeconds) Set the number of seconds to cache the list of matching properties files loaded from plugin. |
|
public void |
setPluginManager(GrailsPluginManager pluginManager) |
|
public void |
setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader) |
|
public void |
setResourceResolver(org.springframework.core.io.support.PathMatchingResourcePatternResolver resourceResolver) |
|
public void |
setSearchClasspath(boolean searchClasspath) Whether to search the full classpath for message bundles. |
Get a PropertiesHolder that contains the actually visible properties for a Locale, after merging all specified resource bundles. Either fetches the holder from the cache or freshly loads it.
Only used when caching resource bundle contents forever, i.e. with cacheSeconds < 0. Therefore, merged properties are always cached forever.
Attempts to resolve a MessageFormat for the code from the list of plugin base names
code
- The codelocale
- The localeAttempts to resolve a String for the code from the list of plugin base names
code
- The codelocale
- The localeThe location pattern for message bundles
messageBundleLocationPattern
- The message bundle location patternSet the number of seconds to cache the list of matching properties files loaded from plugin.
Whether to search the full classpath for message bundles. Enabling this will degrade startup performance. The default is to only search for message bundles relative to the application classes directory.
searchClasspath
- True if the entire classpath should be searched