package nars.lab.ioutils;
import nars.NAR;
/** TextInput subclass that only inputs when the next input value changes from previous */
public class ChangedTextInput {
private final NAR nar;
private String last = null;
private boolean allowRepeats = false;
public ChangedTextInput(NAR n) {
this.nar = n;
}
public boolean set(String s) {
return set(s, -1);
}
public boolean set(String s, long time) {
if (allowRepeats || (last == null) || (!last.equals(s))) {
nar.addInput(s, time);
last = s;
return true;
}
//TODO option to, when else, add with lower budget ?
return false;
}
public void setAllowRepeatInputs(boolean b) {
this.allowRepeats = b;
}
}