1 package cz.cuni.amis.pogamut.ut2004.analyzer; 2 3 import java.util.EventListener; 4 5 import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId; 6 import cz.cuni.amis.utils.listener.Listeners; 7 8 public interface IAnalyzerObserverListener extends EventListener { 9 10 public void observerAdded(UnrealId botId, IUT2004AnalyzerObserver observer); 11 public void observerRemoved(UnrealId botId, IUT2004AnalyzerObserver observer); 12 13 public static class ObserverAddedNotifier implements Listeners.ListenerNotifier<IAnalyzerObserverListener> { 14 15 private UnrealId botId; 16 private IUT2004AnalyzerObserver observer; 17 18 public void setBotId(UnrealId botId) { 19 this.botId = botId; 20 } 21 22 public void setObserver(IUT2004AnalyzerObserver observer) { 23 this.observer = observer; 24 } 25 26 @Override 27 public Object getEvent() { 28 return new Object() { 29 @Override 30 public String toString() { 31 return "ObserverAdded"; 32 } 33 }; 34 } 35 36 @Override 37 public void notify(IAnalyzerObserverListener listener) { 38 listener.observerAdded(botId, observer); 39 } 40 41 } 42 43 public static class ObserverRemovedNotifier implements Listeners.ListenerNotifier<IAnalyzerObserverListener> { 44 45 private UnrealId botId; 46 private IUT2004AnalyzerObserver observer; 47 48 public void setBotId(UnrealId botId) { 49 this.botId = botId; 50 } 51 52 public void setObserver(IUT2004AnalyzerObserver observer) { 53 this.observer = observer; 54 } 55 56 @Override 57 public Object getEvent() { 58 return new Object() { 59 @Override 60 public String toString() { 61 return "ObserverRemoved"; 62 } 63 }; 64 } 65 66 @Override 67 public void notify(IAnalyzerObserverListener listener) { 68 listener.observerRemoved(botId, observer); 69 } 70 71 } 72 73 }