package com.spbsu.crawl.bl.crawlSystemView;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
* Created by noxoomo on 16/07/16.
*/
public interface Subscribable<T> {
void subscribe(final T listener);
abstract class Stub<T> implements Subscribable<T> {
private List<T> listeners = new ArrayList<>();
protected Stream<T> listeners() {
return listeners.stream();
}
public void subscribe(final T listener) {
listeners.add(listener);
}
}
}