1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.peer;
21
22 import javax.swing.Icon;
23
24 import org.xnap.event.StateListener;
25 import org.xnap.event.StateSupport;
26
27 /***
28 * This class provides the default implementation for a hotlist item.
29 */
30 public abstract class AbstractHotlistItem implements HotlistItem {
31
32
33
34 private StateSupport listeners = new StateSupport(this);
35
36
37
38 public AbstractHotlistItem()
39 {
40 }
41
42
43
44 /***
45 * Adds a state listener.
46 */
47 public void addStateListener(StateListener listener)
48 {
49 listeners.addStateListener(listener);
50 }
51
52 /***
53 * Returns <code>null</code>.
54 */
55 public Icon getIcon()
56 {
57 return null;
58 }
59
60 public void removeStateListener(StateListener listener)
61 {
62 listeners.removeStateListener(listener);
63 }
64
65 /***
66 * Returns the value of {@link #getName() getName()}.
67 */
68 public String toString()
69 {
70 return getName();
71 }
72
73 /***
74 * Notifies all StateListeners that the state has changed.
75 */
76 protected void stateChanged()
77 {
78 listeners.fireStateChanged();
79 }
80
81 }