case ')': {
break parseloop;
}
case '(': {
throw new InvalidSyntaxException("Invalid value: " + filterstring.substring(pos), filterstring);
}
case '\\': {
pos++;
c = filterChars[pos];
/* fall through into default */
}
default: {
sb.append(c);
pos++;
break;
}
}
}
if (sb.length() == 0) {
throw new InvalidSyntaxException("Missing value: " + filterstring.substring(pos), filterstring);
}
// TODO Substitute filter
String ret = Util.toStringAttrValue(Substitute.substitute(null, sb.toString(), component));
if (ret == null) {
throw new InvalidSyntaxException("Substitution failed. Missing value: " + filterstring.substring(pos), filterstring);
}
return ret;
}