package uk.ac.lkl.migen.system.ai.reasoning.rules;
import uk.ac.lkl.migen.system.ai.analysis.Verifier;
import uk.ac.lkl.migen.system.ai.analysis.event.VerificationChangeListener;
/**
* A fact, like the output of a module or the combination
* of two outputs by means of a logical operator.
*
* @author sergut
*
*/
public class Fact extends Rule {
public Fact(Verifier verifier) {
super();
factValue = verifier.getValue();
verifier.addPropertyChangeListener(new VerificationChangeListener() {
@Override
public void propertyChange(uk.ac.lkl.migen.system.ai.analysis.event.PropertyChangeEvent<Boolean> evt) {
Boolean newValue = (Boolean) evt.getNewValue();
if (factValue != newValue) {
factValue = newValue;
fireValueChange(new RuleValueChangeEvent(factValue));
}
}
});
}
}
|