private static String format()

in src/main/java/org/apache/log4j/LogMF.java [152:190]


    private static String format(final String pattern,
                                 final Object[] arguments) {
        if (pattern == null) {
            return null;
        } else if(isSimple(pattern)) {
            String formatted[] = new String[10];
            int prev = 0;
            String retval = "";
            int pos = pattern.indexOf('{');
            while(pos >= 0) {
                if(pos + 2 < pattern.length() && 
                      pattern.charAt(pos+2) == '}' &&
                      pattern.charAt(pos+1) >= '0' &&
                      pattern.charAt(pos+1) <= '9') {
                    int index = pattern.charAt(pos+1) - '0';
                    retval += pattern.substring(prev, pos);
                    if (formatted[index] == null) {
                         if (arguments == null || index >= arguments.length) {
                            formatted[index] = pattern.substring(pos, pos+3);
                         } else {
                            formatted[index] = formatObject(arguments[index]);
                         }
                    }
                    retval += formatted[index];
                    prev = pos + 3;
                    pos = pattern.indexOf('{', prev);
                } else {
                    pos = pattern.indexOf('{', pos + 1);
                }
            }
            retval += pattern.substring(prev);
            return retval;
        }
        try {
            return MessageFormat.format(pattern, arguments);
        } catch (IllegalArgumentException ex) {
            return pattern;
        }
    }