package com.onaro.util.jfc.tables.filter; import java.util.ArrayList; import java.util.List; public abstract class AbstractSelectionFilter extends AbstractFilter implements FilterEditorProvider { public static final String ALL_TEXT = Messages.INSTANCE.getAllText(); public static final String EMPTY_TEXT = Messages.INSTANCE.getEmptyText(); private List allValues; public AbstractSelectionFilter() { allValues = new ArrayList(); allValues.add(ALL_TEXT); allValues.add(EMPTY_TEXT); } protected void parsePattern() throws FilterException { if(ALL_TEXT.equals(pattern)) pattern = null; } /** * Tests if the selected value that was defined in the pattern * * @param value the value to test * @return true if the value matches this filter */ public boolean isAccepted(Object value) { assert pattern != null : "this method should not be called if the isActive() is false - pattern==null"; //$NON-NLS-1$ if (EMPTY_TEXT.equals(pattern)) { return value == null || value.toString().length() == 0; } else { return pattern.equals(value); } } public List getAllValues() { return allValues; } protected void add(E e) { allValues.add(e); } }