/* * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors * * SPDX-License-Identifier: EPL-2.0 */ package tools.refinery.store.query.term.comparable; import tools.refinery.store.query.substitution.Substitution; import tools.refinery.store.query.term.Term; public class EqTerm extends ComparisonTerm { public EqTerm(Class argumentType, Term left, Term right) { super(argumentType, left, right); } @Override protected Boolean doEvaluate(T leftValue, T rightValue) { return leftValue.equals(rightValue); } @Override public Term doSubstitute(Substitution substitution, Term substitutedLeft, Term substitutedRight) { return new EqTerm<>(getArgumentType(), substitutedLeft, substitutedRight); } @Override public String toString() { return "(%s == %s)".formatted(getLeft(), getRight()); } }