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); } } }