public void setPattern(String expression) { int x = expression.indexOf(":"); int i = expression.indexOf('='); if (i == -1) { throw new IllegalArgumentException( "Pattern is malformed - it should be a key value pair, i.e. property=value: " + expression); } if (x > -1 && x < i) { setScope(expression.substring(0, x)); expression = expression.substring(x + 1); i = expression.indexOf('='); } if (expression.charAt(i - 1) == '!') { not = true; propertyName = expression.substring(0, i - 1).trim(); } else { propertyName = expression.substring(0, i).trim(); } propertyValue = expression.substring(i + 1).trim(); wildcardFilter = new WildcardFilter(propertyValue); wildcardFilter.setCaseSensitive(isCaseSensitive()); }
protected boolean compare(String value1, String value2) { if (value1 == null && value2 != null && !"null".equals(value2) && not) { return true; } if (value1 == null) { value1 = "null"; } boolean result; result = wildcardFilter.accept(value1); return (not ? !result : result); }
public void setCaseSensitive(boolean caseSensitive) { this.caseSensitive = caseSensitive; if (wildcardFilter != null) { wildcardFilter.setCaseSensitive(caseSensitive); } }