/* * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors * * SPDX-License-Identifier: EPL-2.0 */ package tools.refinery.store.query.term.int_; import tools.refinery.store.query.substitution.Substitution; import tools.refinery.store.query.term.Term; public class IntMulTerm extends IntBinaryTerm { public IntMulTerm(Term left, Term right) { super(left, right); } @Override public Term doSubstitute(Substitution substitution, Term substitutedLeft, Term substitutedRight) { return new IntMulTerm(substitutedLeft, substitutedRight); } @Override protected Integer doEvaluate(Integer leftValue, Integer rightValue) { return leftValue * rightValue; } @Override public String toString() { return "(%s * %s)".formatted(getLeft(), getRight()); } }