ResourceBundleThemeSource.java 文件源码

java
阅读 45 收藏 0 点赞 0 评论 0

项目:lams 作者:
/**
 * This implementation returns a SimpleTheme instance, holding a
 * ResourceBundle-based MessageSource whose basename corresponds to
 * the given theme name (prefixed by the configured "basenamePrefix").
 * <p>SimpleTheme instances are cached per theme name. Use a reloadable
 * MessageSource if themes should reflect changes to the underlying files.
 * @see #setBasenamePrefix
 * @see #createMessageSource
 */
@Override
public Theme getTheme(String themeName) {
    if (themeName == null) {
        return null;
    }
    synchronized (this.themeCache) {
        Theme theme = this.themeCache.get(themeName);
        if (theme == null) {
            String basename = this.basenamePrefix + themeName;
            MessageSource messageSource = createMessageSource(basename);
            theme = new SimpleTheme(themeName, messageSource);
            initParent(theme);
            this.themeCache.put(themeName, theme);
            if (logger.isDebugEnabled()) {
                logger.debug("Theme created: name '" + themeName + "', basename [" + basename + "]");
            }
        }
        return theme;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号