4 import java.util.concurrent.CopyOnWriteArrayList;
5 import java.util.function.Consumer;
7 public class WebServiceWorkerListenersList
9 private WebServiceWorkerI owner;
10 private List<WebServiceWorkerListener> listeners = new CopyOnWriteArrayList<>();
12 public WebServiceWorkerListenersList(WebServiceWorkerI worker)
17 public void addListener(WebServiceWorkerListener listener)
19 listeners.add(listener);
22 public void removeListener(WebServiceWorkerListener listener)
24 listeners.remove(listener);
27 public void fireWorkerStarted()
29 for (var listener : listeners)
30 listener.workerStarted(owner);
33 public void fireWorkerNotStarted()
35 for (var listener : listeners)
36 listener.workerNotStarted(owner);
39 public void fireJobCreated(WSJob job)
41 for (var listener : listeners)
42 listener.jobCreated(owner, job);
45 public void firePollException(WSJob job, Exception e)
47 for (var listener : listeners)
48 listener.pollException(owner, job, e);
51 public void fireWorkerCompleting()
53 for (var listener : listeners)
54 listener.workerCompleting(owner);
57 public void fireWorkerCompleted()
59 for (var listener : listeners)
60 listener.workerCompleted(owner);
63 public List<WebServiceWorkerListener> getListeners()
68 public void forEach(Consumer<WebServiceWorkerListener> consumer)
70 for (var listener : listeners)
71 consumer.accept(listener);