01: /*
02: * FindBugs - Find Bugs in Java programs
03: * Copyright (C) 2006, University of Maryland
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: */
19:
20: package edu.umd.cs.findbugs.gui2;
21:
22: import java.util.ArrayList;
23: import java.util.Collection;
24: import java.util.HashSet;
25:
26: import javax.swing.tree.TreePath;
27:
28: import edu.umd.cs.findbugs.annotations.CheckForNull;
29:
30: /**
31: * @author pugh
32: */
33: public class FilterActivity {
34:
35: static HashSet<FilterListener> listeners = new HashSet<FilterListener>();
36:
37: public static boolean addFilterListener(FilterListener newListener) {
38: return listeners.add(newListener);
39: }
40:
41: public static void removeFilterListener(FilterListener toRemove) {
42: listeners.remove(toRemove);
43: }
44:
45: public static void notifyListeners(
46: FilterListener.Action whatsGoingOnCode, @CheckForNull
47: TreePath optionalPath) {
48: Collection<FilterListener> listeners = new ArrayList<FilterListener>(
49: FilterActivity.listeners);
50: switch (whatsGoingOnCode) {
51: case FILTERING:
52: case UNFILTERING:
53: for (FilterListener i : listeners)
54: i.clearCache();
55: break;
56: case SUPPRESSING:
57: for (FilterListener i : listeners)
58: i.suppressBug(optionalPath);
59: break;
60: case UNSUPPRESSING:
61: for (FilterListener i : listeners)
62: i.unsuppressBug(optionalPath);
63: break;
64: }
65: }
66:
67: }
|