Filter.java revision e3f6868dac3b4c4714637d12b93d97823011a35c
1package autotest.common.table;
2
3import autotest.common.SimpleCallback;
4
5import com.google.gwt.json.client.JSONObject;
6import com.google.gwt.user.client.ui.Widget;
7
8import java.util.ArrayList;
9import java.util.Iterator;
10import java.util.List;
11
12public abstract class Filter {
13    protected List changeListeners = new ArrayList();
14
15    public abstract void addParams(JSONObject params);
16    public abstract boolean isActive();
17    public abstract Widget getWidget();
18
19    public void addListener(SimpleCallback listener) {
20        changeListeners.add(listener);
21    }
22
23    public void removeListener(SimpleCallback listener) {
24        changeListeners.remove(listener);
25    }
26
27    protected void notifyListeners() {
28        for (Iterator i = changeListeners.iterator(); i.hasNext(); ) {
29            ((SimpleCallback) i.next()).doCallback(this);
30        }
31    }
32}