package nars.util;
import nars.NAR;
/**
*
*/
public abstract class AbstractObserver implements EventEmitter.EventObserver {
protected final EventEmitter source;
protected boolean active = false;
private final Class[] events;
public AbstractObserver(NAR n, boolean active, Class... events) {
this(n.memory.event, active, events);
}
public AbstractObserver(EventEmitter source, boolean active, Class... events) {
this.source = source;
this.events = events;
setActive(active);
}
public void setActive(boolean b) {
if (this.active == b) return;
this.active = b;
source.set(this, b, events);
}
public boolean isActive() {
return active;
}
}