private static String format()

in src/main/java/org/apache/log4j/LogMF.java [198:236]


    private static String format(final String pattern,
                                 final Object arg0) {
        if (pattern == null) {
            return null;
        } else if(isSimple(pattern)) {
            String formatted = null;
            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 (index != 0) {
                        retval += pattern.substring(pos, pos+3);
                    } else {
                        if (formatted == null) {
                            formatted = formatObject(arg0);
                        }
                        retval += formatted;
                    }
                    prev = pos + 3;
                    pos = pattern.indexOf('{', prev);
                } else {
                    pos = pattern.indexOf('{', pos + 1);
                }
            }
            retval += pattern.substring(prev);
            return retval;
        }
        try {
            return MessageFormat.format(pattern, new Object[] { arg0 });
        } catch (IllegalArgumentException ex) {
            return pattern;
        }
    }