11package me .zero .alpine .bus ;
22
3- import me .zero .alpine .listener .EventSubscriber ;
4- import me .zero .alpine .listener .Listener ;
5-
6- import java .util .ArrayList ;
73import java .util .List ;
4+ import java .util .concurrent .CopyOnWriteArrayList ;
85
96/**
107 * Implementation of {@link EventManager} that is an {@link AttachableEventBus}.
@@ -17,7 +14,7 @@ public class AttachableEventManager extends EventManager implements AttachableEv
1714 /**
1815 * List of attached event buses.
1916 */
20- protected final List <EventBus > attached = new ArrayList <>();
17+ protected final List <EventBus > attached = new CopyOnWriteArrayList <>();
2118
2219 public AttachableEventManager (String name ) {
2320 super (name );
@@ -27,30 +24,6 @@ public AttachableEventManager(String name) {
2724 super (name , recursiveDiscovery , superListeners );
2825 }
2926
30- @ Override
31- public void subscribe (EventSubscriber subscriber ) {
32- super .subscribe (subscriber );
33- this .attached .forEach (bus -> bus .subscribe (subscriber ));
34- }
35-
36- @ Override
37- public void subscribe (Listener <?> listener ) {
38- super .subscribe (listener );
39- this .attached .forEach (bus -> bus .subscribe (listener ));
40- }
41-
42- @ Override
43- public void unsubscribe (EventSubscriber subscriber ) {
44- super .unsubscribe (subscriber );
45- this .attached .forEach (bus -> bus .unsubscribe (subscriber ));
46- }
47-
48- @ Override
49- public void unsubscribe (Listener <?> listener ) {
50- super .unsubscribe (listener );
51- this .attached .forEach (bus -> bus .unsubscribe (listener ));
52- }
53-
5427 @ Override
5528 public void post (Object event ) {
5629 super .post (event );
0 commit comments