blob: c93462aba8962c9df937b978b30221f85181db76 [file] [log] [blame]
package org.apache.nifi.pql.evaluation.logic;
import org.apache.nifi.pql.evaluation.BooleanEvaluator;
import org.apache.nifi.provenance.ProvenanceEventRecord;
public class OrEvaluator implements BooleanEvaluator {
private final BooleanEvaluator lhs;
private final BooleanEvaluator rhs;
public OrEvaluator(final BooleanEvaluator lhs, final BooleanEvaluator rhs) {
this.lhs = lhs;
this.rhs = rhs;
}
@Override
public Boolean evaluate(final ProvenanceEventRecord record) {
return lhs.evaluate(record) || rhs.evaluate(record);
}
@Override
public BooleanEvaluator negate() {
return new AndEvaluator(lhs.negate(), rhs.negate());
}
public BooleanEvaluator getLHS() {
return lhs;
}
public BooleanEvaluator getRHS() {
return rhs;
}
public String toString() {
final StringBuilder sb = new StringBuilder();
if ( lhs instanceof AndEvaluator || lhs instanceof OrEvaluator ) {
sb.append("(").append(lhs.toString()).append(")");
} else {
sb.append(lhs.toString());
}
sb.append(" | ");
if ( rhs instanceof AndEvaluator || rhs instanceof OrEvaluator ) {
sb.append("(").append(rhs.toString()).append(")");
} else {
sb.append(rhs.toString());
}
return sb.toString();
}
@Override
public int getEvaluatorType() {
return org.apache.nifi.pql.ProvenanceQueryParser.OR;
}
}