SCViewer/plugins/com.minres.scviewer.e4.appl.../src/com/minres/scviewer/e4/application/parts/txTableTree/TxAttributeFilter.java

56 lines
1.4 KiB
Java

package com.minres.scviewer.e4.application.parts.txTableTree;
import java.util.regex.PatternSyntaxException;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import com.minres.scviewer.database.ITxAttribute;
/**
* The Class TxAttributeFilter.
*/
public class TxAttributeFilter extends ViewerFilter {
/** The search string. */
private String searchString;
/**
* Sets the search text.
*
* @param s the new search text
*/
public void setSearchText(String s) {
this.searchString = ".*" + s + ".*"; //$NON-NLS-1$ //$NON-NLS-2$
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
if (searchString == null || searchString.length() == 0) {
return true;
}
if(element instanceof TransactionTreeNode) {
return true;
}
if(element instanceof ITxAttribute){
try {
return (((ITxAttribute) element).getName().toLowerCase().matches(searchString.toLowerCase()));
} catch (PatternSyntaxException e) {
return true;
}
}
// if(element instanceof Object[]) {
// try {
// return (((Object[])element)[0]).toString().toLowerCase().matches(searchString.toLowerCase());
// } catch (PatternSyntaxException e) {
// return true;
// }
// }
// return false;
return true;
}
}