⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 combomessages.java

📁 欢迎使用 FastJsp 开发框架! 编译说明: * 若要生成Api Javadoc文档
💻 JAVA
字号:
package com.onetsoft.fastjsp;

import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.Locale;
import java.text.MessageFormat;

/**
 * 组合字符串资源
 * 字符串资源提取顺序:布局模块 -> 页面模块 ->全局资源
 * 注:一般每个模块对应设计自己的字符串资源,防止主键混淆
 *
 * @see PageModule#getI18nStrings(java.util.Locale)
 * @see Configuration#getMessagesFactory()
 */
class ComboMessages implements Messages {
    private Locale locale = null;
    Map map = null;

    public ComboMessages(AbstractPageService service) {
        List list = new ArrayList(3);
        locale = service.localeStateManager.getLocale();

        if (service.servicer.pageParams.layoutModule != null) {
            Map t = service.servicer.pageParams.layoutModule.getI18nStrings(locale);
            if (t != null && t.size() > 0) {
                list.add(t);
            }
        }

        Map t = service.servicer.module.getMessagesFactory().getI18nMap(locale);
        if (t != null && t.size() > 0) {
            list.add(t);
        }

        this.map = new ComboReadMap((Map[]) list.toArray(new Map[list.size()]));
    }


    public Locale getLocale() {
        return locale;
    }

    public String getMessage(String key) {
        String s = (String) map.get(key);
        return s != null ? s : new StringBuffer().append('[').append(key.toUpperCase()).append(']').toString();
    }

    public String format(String key, Object[] arguments) {
        String s = (String) map.get(key);
        return s != null ? MessageFormat.format(s, arguments) : new StringBuffer().append('[').append(key.toUpperCase()).append(']').toString();
    }

    public String format(String key, Object argument) {
        return format(key, new Object[]{argument});
    }

    public String format(String key, Object argument1, Object argument2) {
        return format(key, new Object[]{argument1, argument2});
    }

    public String format(String key, Object argument1, Object argument2, Object argument3) {
        return format(key, new Object[]{argument1, argument2, argument3});
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -