package ru.rsdn.patterns.behavioral.observer.problems.init;

import java.util.Collection;
import java.util.LinkedHashSet;

import ru.rsdn.patterns.behavioral.observer.ISubscriber;
import ru.rsdn.patterns.behavioral.observer.AbstractPublisher;

/**
 * Подписчик, в котором проявляется наследованный риск безопасности
 * инициализации
 */
public class InheritedUnsafeInitSubscriber extends UnsafeInitSubscriber {
	private final Collection<Long> eventHistory;

	/**
	 * Конструктор
	 * @param publisher издатель
	 */
	public InheritedUnsafeInitSubscriber(
			AbstractPublisher<Collection<ISubscriber>> publisher) {
		super(publisher);
		eventHistory = new LinkedHashSet<Long>();
	}

	public void eventHappen() {
		eventHistory.add(System.currentTimeMillis());
	}
}
