in core/src/main/java/org/apache/ftpserver/util/StringUtils.java [120:157]
public static String replaceString(String source,
Map<String, Object> args) {
int startIndex = 0;
int openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
return source;
}
int closeIndex = source.indexOf('}', startIndex);
if ((closeIndex == -1) || (openIndex > closeIndex)) {
return source;
}
StringBuilder sb = new StringBuilder();
sb.append(source.substring(startIndex, openIndex));
while (true) {
String key = source.substring(openIndex + 1, closeIndex);
Object val = args.get(key);
if (val != null) {
sb.append(val);
}
startIndex = closeIndex + 1;
openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
sb.append(source.substring(startIndex));
break;
}
closeIndex = source.indexOf('}', startIndex);
if ((closeIndex == -1) || (openIndex > closeIndex)) {
sb.append(source.substring(startIndex));
break;
}
sb.append(source.substring(startIndex, openIndex));
}
return sb.toString();
}