package net.sourceforge.mayfly.evaluation.condition;
import net.sourceforge.mayfly.evaluation.ResultRow;
import net.sourceforge.mayfly.evaluation.select.Evaluator;
public class Not extends Condition {
public final Condition operand;
public Not(Condition operand) {
this.operand = operand;
}
@Override
public boolean evaluate(ResultRow row, Evaluator evaluator) {
return !operand.evaluate(row, evaluator);
}
@Override
public Condition resolve(ResultRow row, Evaluator evaluator) {
Condition newOperand = operand.resolve(row, evaluator);
if (newOperand != operand) {
return new Not(operand);
}
else {
return this;
}
}
@Override
public String firstAggregate() {
return operand.firstAggregate();
}
@Override
public void check(ResultRow row) {
operand.check(row);
}
}