blob: 694c325ff00d2cb331caf647b122045ac93d827d [file] [log] [blame]
package autotest.common.table;
import autotest.common.SimpleCallback;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.user.client.ui.Widget;
import java.util.ArrayList;
import java.util.List;
public abstract class Filter {
protected List<SimpleCallback> callbacks = new ArrayList<SimpleCallback>();
public abstract void addParams(JSONObject params);
public abstract boolean isActive();
public abstract Widget getWidget();
// is this filter controlled by a user-facing widget?
public boolean isUserControlled() {
return getWidget() != null;
}
public void addCallback(SimpleCallback callback) {
callbacks.add(callback);
}
public void removeCallback(SimpleCallback callback) {
callbacks.remove(callback);
}
protected void notifyListeners() {
for (SimpleCallback callback : callbacks) {
callback.doCallback(this);
}
}
}