public void init(String filter) {
if (filter != null) {
Matcher expressionMatcher = __comparatorPattern.matcher(filter);
while (expressionMatcher.find()) {
String filterKey = expressionMatcher.group(1);
String op = expressionMatcher.group(2);
String value = expressionMatcher.group(3);
FKEY keyval;
try {
keyval = parseKey(filterKey.toUpperCase().replaceAll("-", "_"));
} catch (Exception ex) {
String errmsg = __msgs.msgUnrecognizedFilterKey(filterKey, getFilterKeysStr());
throw new IllegalArgumentException(errmsg, ex);
}
Restriction<String> restriction = new Restriction<String>(filterKey,op,value);
_criteria.put(keyval, restriction);
process(keyval, restriction);
}
}
}