package org.fugazi.ql.evaluator.expression_value;
public class IntValue extends ExpressionValue<Integer> {
public IntValue(Integer _value) {
super(_value);
}
@Override
public ExpressionValue add(ExpressionValue exprValue) {
return exprValue.addInt(this);
}
@Override
public ExpressionValue addInt(IntValue exprValue) {
return new IntValue(this.getValue() + exprValue.getValue());
}
@Override
public ExpressionValue sub(ExpressionValue exprValue) {
return exprValue.subInt(this);
}
@Override
public ExpressionValue subInt(IntValue exprValue) {
return new IntValue(exprValue.getValue() - this.getValue());
}
@Override
public ExpressionValue mul(ExpressionValue exprValue) {
return exprValue.mulInt(this);
}
@Override
public ExpressionValue mulInt(IntValue exprValue) {
return new IntValue(this.getValue() * exprValue.getValue());
}
@Override
public ExpressionValue div(ExpressionValue exprValue) {
return exprValue.divInt(this);
}
@Override
public ExpressionValue divInt(IntValue exprValue) {
return new IntValue(exprValue.getValue() / this.getValue());
}
@Override
public ExpressionValue negative() {
return new IntValue( - this.getValue() );
}
@Override
public ExpressionValue positive() {
return new IntValue(this.getValue());
}
@Override
public ExpressionValue greater(ExpressionValue exprValue) {
return exprValue.greaterInt(this);
}
@Override
public ExpressionValue greaterInt(IntValue exprValue) {
return new BoolValue(exprValue.getValue() > this.getValue());
}
@Override
public ExpressionValue less(ExpressionValue exprValue) {
return exprValue.lessInt(this);
}
@Override
public ExpressionValue lessInt(IntValue exprValue) {
return new BoolValue(exprValue.getValue() < this.getValue());
}
@Override
public ExpressionValue greaterEqual(ExpressionValue exprValue) {
return exprValue.greaterEqualInt(this);
}
@Override
public ExpressionValue greaterEqualInt(IntValue exprValue) {
return new BoolValue(exprValue.getValue() >= this.getValue());
}
@Override
public ExpressionValue lessEqual(ExpressionValue exprValue) {
return exprValue.lessEqualInt(this);
}
@Override
public ExpressionValue lessEqualInt(IntValue exprValue) {
return new BoolValue(exprValue.getValue() <= this.getValue());
}
}