/** * Represents the Not type, a conditional which inverts the given input. */ class Not implements Cond { private Cond val; public Not(Cond val) { this.val = val; } @Override public boolean eval() { return !this.val.eval(); } @Override public String toString() { return "!(" + this.val + ")"; } @Override public Cond neg() { return this.val; } }