/* * 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 GreaterEqTerm> extends ComparisonTerm { public GreaterEqTerm(Class argumentType, Term left, Term right) { super(argumentType, left, right); } @Override protected Boolean doEvaluate(T leftValue, T rightValue) { return leftValue.compareTo(rightValue) >= 0; } @Override public Term doSubstitute(Substitution substitution, Term substitutedLeft, Term substitutedRight) { return new GreaterEqTerm<>(getArgumentType(), substitutedLeft, substitutedRight); } @Override public String toString() { return "(%s >= %s)".formatted(getLeft(), getRight()); } }