*/
private Pattern _regex;
+ /**
+ * Whether or not to convert the value to lowercase before matching.
+ */
+ private boolean _tolower;
+
/**
* Constructs the condition.
* @param aProperty Name of the property to examine.
* @param aRegex Regular expression to use.
+ * @param aTolower Whether or not to convert the value to lowercase before matching.
*/
- public PropertyRegexCondition(String aProperty, String aRegex) {
+ public PropertyRegexCondition(String aProperty, String aRegex, boolean aTolower) {
_property = aProperty;
_regex = Pattern.compile(aRegex);
+ _tolower = aTolower;
}
/* (non-Javadoc)
public boolean matches(T aObject) {
try {
String value = PropertyUtils.getProperty(aObject, _property) + "";
+ if ( _tolower ) {
+ value = value.toLowerCase();
+ }
Matcher matcher = _regex.matcher(value);
return matcher.matches();
} catch (IllegalAccessException e) {