package evaluator; public class BooleanValue extends Value<Boolean> { public BooleanValue(boolean booleanValue) { super(booleanValue); } public Value and(Value value) { return value.andBoolean(this); } public Value or(Value value) { return value.orBoolean(this); } public Value not() { return new BooleanValue(!getValue()); } public Value equality(Value value) { return value.equalBoolean(this); } public Value equalBoolean(BooleanValue value) { return new BooleanValue(value.getValue() == getValue() ); } public Value andBoolean(BooleanValue value) { return new BooleanValue(value.getValue() && getValue() ); } public Value orBoolean(BooleanValue value) { return new BooleanValue(value.getValue() || getValue() ); } }