1 package cz.cuni.amis.utils.flag;
2
3 import java.util.EventListener;
4
5 import cz.cuni.amis.utils.listener.Listeners;
6
7 public interface FlagListener<T> extends EventListener {
8
9 public static class FlagListenerNotifier<T> implements Listeners.ListenerNotifier<FlagListener<T>> {
10
11 T value;
12
13 public FlagListenerNotifier() {
14 }
15
16 public FlagListenerNotifier(T changedValue) {
17 this.value = changedValue;
18 }
19
20 public void setValue(T value) {
21 this.value = value;
22 }
23
24 @SuppressWarnings("unchecked")
25 @Override
26 public void notify(FlagListener<T> listener) {
27 listener.flagChanged(value);
28 }
29
30 @Override
31 public Object getEvent() {
32 return value;
33 }
34
35 }
36
37 public void flagChanged(T changedValue);
38 }