in src/main/java/org/ini4j/BasicOptionMap.java [252:281]
void resolve(StringBuilder buffer)
{
Matcher m = EXPRESSION.matcher(buffer);
while (m.find())
{
String name = m.group(G_OPTION);
int index = (m.group(G_INDEX) == null) ? -1 : Integer.parseInt(m.group(G_INDEX));
String value;
if (name.startsWith(ENVIRONMENT_PREFIX))
{
value = Config.getEnvironment(name.substring(ENVIRONMENT_PREFIX_LEN));
}
else if (name.startsWith(SYSTEM_PROPERTY_PREFIX))
{
value = Config.getSystemProperty(name.substring(SYSTEM_PROPERTY_PREFIX_LEN));
}
else
{
value = (index == -1) ? fetch(name) : fetch(name, index);
}
if (value != null)
{
buffer.replace(m.start(), m.end(), value);
m.reset(buffer);
}
}
}