This is an old revision of the document!
public final class Observer<T> {
public interface Subscriber<T> {
void onSubscribe(T data);
}
private final HashMap<String, Subscriber<T>> manager = new HashMap<>();
public final void subscribe(Subscriber<T> subscriber) {
if(subscriber == null)
return;
manager.put(subscriber.getClass().getName(), subscriber);
}
public final void publish(T data) {
if(data == null)
return;
for(Subscriber<T> listener : manager.values()) {
listener.onSubscribe(data);
}
}
}