package com.wechat.common.utils;

import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;

import com.wechat.common.Constants;

public class MessageUtils extends BaseUtils {

    /**
     * message cache
     */
    public static Map<String, String> messageMap = new HashMap<String, String>();


    /**
     * Message 格式化工具
     */
    final static MessageFormat FORMAT = new MessageFormat("");


    /**
     * 单一参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @return Message内容
     */
    public static String getText(String mes, String arg0) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0 });
    }

    /**
     * 两个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @param arg1 参数2
     * @return Message内容
     */
    public static String getText(String mes, String arg0, String arg1) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0, arg1 });
    }

    /**
     * 三个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @param arg1 参数2
     * @param arg2 参数3
     * @return Message内容
     */
    public static String getText(String mes, String arg0, String arg1, String arg2) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0, arg1, arg2 });
    }

    /**
     * 四个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @param arg1 参数2
     * @param arg2 参数3
     * @param arg3 参数4
     * @return Message内容
     */
    public static String getText(String mes, String arg0, String arg1, String arg2, String arg3) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0, arg1, arg2, arg3 });
    }

    /**
     * 五个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @param arg1 参数2
     * @param arg2 参数3
     * @param arg3 参数4
     * @param arg4 参数5
     * @return Message内容
     */
    public static String getText(String mes, String arg0, String arg1, String arg2, String arg3, String arg4) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0, arg1, arg2, arg3, arg4 });
    }
    
    /**
     * 六个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数1
     * @param arg1 参数2
     * @param arg2 参数3
     * @param arg3 参数4
     * @param arg4 参数5
     * @return Message内容
     */
    public static String getText(String mes, String arg0, String arg1, String arg2, String arg3, String arg4, String arg5) {
        FORMAT.applyPattern(mes);
        return FORMAT.format(new String[] { arg0, arg1, arg2, arg3, arg4, arg5 });
    }

    /**
     * 多个参数的Message
     * 
     * @param mes message mes
     * @param arg0 参数数组
     * @return Message内容
     */
    public static String getText(String mes, String[] arg0) {
        if (arg0 == null || arg0.length == 0) {
            return mes;
        } else {
            FORMAT.applyPattern(mes);
            return FORMAT.format(arg0);
        }
    }
    
    /**
     * 三个参数的url
     * 
     * @param mes message mes
     * @param linkUrl
     * @param Str 
     * @param Content
     * @return url内容
     */
    public static String getHyperLink(String linkUrl, String Str, String Content) {
        String result =Constants.URL_BEGIN + linkUrl + Str + Constants.URL_MIDDLE + Content + Constants.URL_END;
        return result;
    }
    
    /**
     * 三个参数的url 不换行
     * 
     * @param mes message mes
     * @param linkUrl
     * @param Str 
     * @param Content
     * @return url内容
     */
    public static String getHyperLinkNoNewline(String linkUrl, String Str, String Content) {
        String result =Constants.URL_BEGIN_NOBR + linkUrl + Str + Constants.URL_MIDDLE + Content + Constants.URL_END_NOBR;
        return result;
    }

}
