/** * to compute the expression with {@code DataProvider} * @param provider instance of DataProvider * @return value of expr */ @Override public ExprValue getValue(DataProvider provider){ // NOSONAR switch (operator) { case OP_Add: return left.getValue(provider).add(right.getValue(provider)); case OP_Sub: return left.getValue(provider).sub(right.getValue(provider)); case OP_Mul: return left.getValue(provider).mul(right.getValue(provider)); case OP_Div: return left.getValue(provider).div(right.getValue(provider)); case OP_Mod: return left.getValue(provider).mod(right.getValue(provider)); default: } throw new FormulaException("Unsupport operator:" + operator); }