
org.mockserver.ui.MockServerEventLogNotifier Maven / Gradle / Ivy
package org.mockserver.ui;
import org.mockserver.filters.MockServerEventLog;
import org.mockserver.model.ObjectWithReflectiveEqualsHashCodeToString;
import org.mockserver.scheduler.Scheduler;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @author jamesdbloom
*/
public class MockServerEventLogNotifier extends ObjectWithReflectiveEqualsHashCodeToString {
private final List listeners = Collections.synchronizedList(new ArrayList());
private final Scheduler scheduler;
public MockServerEventLogNotifier(Scheduler scheduler) {
this.scheduler = scheduler;
}
protected void notifyListeners(final MockServerEventLog notifier) {
scheduler.submit(
new Runnable() {
public void run() {
for (MockServerLogListener listener : new ArrayList<>(listeners)) {
listener.updated(notifier);
}
}
});
}
public void registerListener(MockServerLogListener listener) {
listeners.add(listener);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy