package com.intrbiz.bergamot.virtual.operator; import java.util.Set; import com.intrbiz.bergamot.model.Status; import com.intrbiz.bergamot.virtual.VirtualCheckExpressionContext; import com.intrbiz.bergamot.virtual.reference.CheckReference; public class NotOperator extends VirtualCheckOperator { private static final long serialVersionUID = 1L; private final VirtualCheckOperator operand; public NotOperator(VirtualCheckOperator operand) { super(); this.operand = operand; } public VirtualCheckOperator geOperand() { return this.operand; } @Override public boolean computeOk(VirtualCheckExpressionContext context) { return ! this.operand.computeOk(context); } public Status computeStatus(VirtualCheckExpressionContext context) { // we are making an implicit decision with this operator, so: return this.computeOk(context) ? Status.OK : Status.CRITICAL; } @Override public void computeDependencies(Set<CheckReference> checks) { this.operand.computeDependencies(checks); } public String toString() { return "! " + this.operand.toString(); } }