blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholderExt.java [417:441]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected Object processString(String str) {
        // TODO: we need to handle escapes on the prefix / suffix
        Matcher matcher = getPattern().matcher(str);
        while (matcher.find()) {
            String n = matcher.group(1);
            int idx = n.indexOf(placeholderPrefix);
            if (idx >= 0) {
                matcher.region(matcher.start(1) + idx, str.length());
                continue;
            }
            Object rep = retrieveValue(matcher.group(1));
            if (rep != null) {
                if (rep instanceof String || !matcher.group(0).equals(str)) {
                    str = str.replace(matcher.group(0), rep.toString());
                    matcher.reset(str);
                } else {
                    return rep;
                }
            }
        }
        if (nullValue != null && nullValue.equals(str)) {
            return null;
        }
        return str;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



blueprint/blueprint-noosgi/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholder.java [327:351]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected Object processString(String str) {
        // TODO: we need to handle escapes on the prefix / suffix
        Matcher matcher = getPattern().matcher(str);
        while (matcher.find()) {
            String n = matcher.group(1);
            int idx = n.indexOf(placeholderPrefix);
            if (idx >= 0) {
                matcher.region(matcher.start(1) + idx, str.length());
                continue;
            }
            Object rep = retrieveValue(matcher.group(1));
            if (rep != null) {
                if (rep instanceof String || !matcher.group(0).equals(str)) {
                    str = str.replace(matcher.group(0), rep.toString());
                    matcher.reset(str);
                } else {
                    return rep;
                }
            }
        }
        if (nullValue != null && nullValue.equals(str)) {
            return null;
        }
        return str;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



