in chatterbox-xmpp/chatterbox-xmpp-impl/src/main/java/org/apache/tomee/chatterbox/xmpp/impl/Template.java [161:186]
public String substitute(final List<String> values) throws IllegalArgumentException {
if (values == null) {
throw new IllegalArgumentException("values is null");
}
final Iterator<String> iter = values.iterator();
final StringBuilder sb = new StringBuilder();
for (final UriChunk chunk : uriChunks) {
if (chunk instanceof Variable) {
final Variable var = (Variable) chunk;
if (iter.hasNext()) {
final String value = iter.next();
if (!var.matches(value)) {
throw new IllegalArgumentException("Value '" + value + "' does not match variable "
+ var.getName() + " with value "
+ var.getPattern());
}
sb.append(value);
} else {
sb.append(var);
}
} else {
sb.append(chunk);
}
}
return sb.toString();
}