package com.zachklipp.captivate.util;
import java.util.HashSet;
import java.util.Set;
public abstract class Observable<Event>
{
private Set<Observer<Event>> mObservers = new HashSet<Observer<Event>>();
public boolean addObserver(Observer<Event> o)
{
return mObservers.add(o);
}
public void deleteObserver(Observer<Event> o)
{
mObservers.remove(o);
}
protected void notifyObservers(Event event)
{
for (Observer<Event> observer : mObservers)
{
observer.update(this, event);
}
}
}