package org.objectstyle.wolips.ruleeditor.filter;
import org.eclipse.jface.viewers.*;
import org.objectstyle.wolips.ruleeditor.model.*;
/**
* @author <a href="mailto:georg@moleque.com.br">Georg von Bülow</a>
*/
public class RulesFilter extends ViewerFilter {
private final String regex;
public RulesFilter(final String regex) {
this.regex = regex;
}
@Override
public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
Rule rule = (Rule) element;
LeftHandSide lhs = rule.getLeftHandSide();
if (lhs != null && lhs.toString().contains(regex)) {
return true;
}
RightHandSide rhs = rule.getRightHandSide();
if (rhs != null && (rhs.getKeyPath().contains(regex) || rhs.getValue().contains(regex))) {
return true;
}
return false;
}
}