2121 * <p>
2222 * A request for the most recent alert is sent every constant duration, and the result is then compared to the previous one.
2323 * If the 2 alerts don't equal - It's <b>Tzeva Adom</b> and the registered listeners are notified.
24- * <p>
25- * This class implements <b>Iterable{@literal <Alert>}</b> which returns the history of Tzeva Adom alerts.
2624 */
27- public class TzevaAdomNotifier implements Iterable < Alert >
25+ public class TzevaAdomNotifier
2826{
2927 private final AlertSource alertSource ;
3028 private final Duration requestDelay ;
3129 private final Consumer <Exception > requestFailureHandler ;
32- private final Set <Consumer < Alert > > listeners = new HashSet <>();
30+ private final Set <TzevaAdomListener > listeners = new HashSet <>();
3331 private final Deque <Alert > history = new LinkedList <>();
3432
3533 private TzevaAdomNotifier (AlertSource alertSource , Duration requestDelay , Consumer <Exception > requestFailureHandler )
@@ -66,15 +64,15 @@ public CompletableFuture<Void> listen()
6664
6765 lastTzevaAdom = alert ;
6866
69- this .listeners .forEach (listener -> listener .accept (alert ));
67+ this .listeners .forEach (listener -> listener .onTzevaAdom (alert ));
7068 this .history .add (alert );
7169 }
7270 });
7371 }
7472
75- public void addListener (Consumer < Alert > tzevaAdomListener )
73+ public void addListener (TzevaAdomListener listener )
7674 {
77- this .listeners .add (tzevaAdomListener );
75+ this .listeners .add (listener );
7876 }
7977
8078 public Alert getLastAlert ()
@@ -117,7 +115,7 @@ public static class Builder
117115 private AlertSource alertSource ;
118116 private Duration requestDelay ;
119117 private Consumer <Exception > requestFailureHandler = (exception ) -> {};
120- private Set <Consumer < Alert > > listeners = new HashSet <>();
118+ private Set <TzevaAdomListener > listeners = new HashSet <>();
121119
122120 public Builder requestFrom (AlertSource alertSource )
123121 {
@@ -137,7 +135,7 @@ public Builder onFailedRequest(Consumer<Exception> handler)
137135 return this ;
138136 }
139137
140- public Builder onTzevaAdom (Consumer < Alert > listener )
138+ public Builder onTzevaAdom (TzevaAdomListener listener )
141139 {
142140 this .listeners .add (listener );
143141 return this ;
0 commit comments