@@ -37,33 +37,6 @@ public void notifyObservers(INotification notification) {
3737 }
3838 }
3939
40- @ Override
41- public void registerObserver (IObserver observer , String notificationName ) {
42- ArrayList <IObserver > observers = iObserverMap .get (notificationName );
43- if (null == observers || observers .size () <= 0 ) {
44- observers = new ArrayList <>();
45- iObserverMap .put (notificationName , observers );
46- }
47- observers .add (observer );
48- }
49-
50- @ Override
51- public void removeObserver (Object context , String notificationName ) {
52- ArrayList <IObserver > observers = iObserverMap .get (notificationName );
53- if (null == observers || observers .size () <= 0 ) {
54- return ;
55- }
56- for (IObserver observer : observers ) {
57- if (observer .comparedNotifyContext (context )){
58- observers .remove (observer );
59- break ;
60- }
61- }
62- if (observers .size () == 0 ) {
63- iObserverMap .remove (notificationName );
64- }
65- }
66-
6740 @ Override
6841 public void registerMediator (String key , Class cls ) {
6942 if (null == key || cls == null ) {
@@ -126,6 +99,34 @@ public void removeMediator(String key) {
12699 mediator .onRemove ();
127100 }
128101
102+
103+ @ Override
104+ public void registerObserver (IObserver observer , String notificationName ) {
105+ ArrayList <IObserver > observers = iObserverMap .get (notificationName );
106+ if (null == observers || observers .size () <= 0 ) {
107+ observers = new ArrayList <>();
108+ iObserverMap .put (notificationName , observers );
109+ }
110+ observers .add (observer );
111+ }
112+
113+ @ Override
114+ public void removeObserver (Object context , String notificationName ) {
115+ ArrayList <IObserver > observers = iObserverMap .get (notificationName );
116+ if (null == observers || observers .size () <= 0 ) {
117+ return ;
118+ }
119+ for (IObserver observer : observers ) {
120+ if (observer .comparedNotifyContext (context )){
121+ observers .remove (observer );
122+ break ;
123+ }
124+ }
125+ if (observers .size () == 0 ) {
126+ iObserverMap .remove (notificationName );
127+ }
128+ }
129+
129130 @ Override
130131 public IMediator getMediator (String key ) {
131132 if (null == key ) {
0 commit comments