/* * 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 LessTerm> extends ComparisonTerm { public LessTerm(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 LessTerm<>(getArgumentType(), substitutedLeft, substitutedRight); } @Override public String toString() { return "(%s < %s)".formatted(getLeft(), getRight()); } }