package ilarkesto.core.changeindicator;
import java.util.ArrayList;
import java.util.List;
public class ChangeIndicator {
private long changeTime = System.currentTimeMillis();
private List<ChangeListener> changeListeners;
public void markChanged() {
changeTime = System.currentTimeMillis();
if (changeListeners != null) {
for (ChangeListener listener : changeListeners) {
listener.onChange();
}
}
}
public long getChangeTime() {
return changeTime;
}
public boolean hasChangedSince(long time) {
return changeTime > time;
}
public void addChangeListener(ChangeListener listener) {
if (changeListeners == null) changeListeners = new ArrayList<ChangeListener>(1);
changeListeners.add(listener);
}
}