1
2
3
4
5
6 package dev.metaschema.core.metapath.cst.logic;
7
8 import dev.metaschema.core.metapath.IExpression;
9 import dev.metaschema.core.metapath.cst.AbstractBinaryExpression;
10 import dev.metaschema.core.metapath.function.ComparisonFunctions;
11 import dev.metaschema.core.util.ObjectUtils;
12 import edu.umd.cs.findbugs.annotations.NonNull;
13
14
15
16
17
18
19 public abstract class AbstractComparison
20 extends AbstractBinaryExpression<IExpression, IExpression>
21 implements IBooleanLogicExpression {
22
23 @NonNull
24 private final ComparisonFunctions.Operator operator;
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 public AbstractComparison(
41 @NonNull String text,
42 @NonNull IExpression left,
43 @NonNull ComparisonFunctions.Operator operator,
44 @NonNull IExpression right) {
45 super(text, left, right);
46 this.operator = ObjectUtils.requireNonNull(operator, "operator");
47 }
48
49
50
51
52
53
54 @NonNull
55 public ComparisonFunctions.Operator getOperator() {
56 return operator;
57 }
58
59 @SuppressWarnings("null")
60 @Override
61 public String toCSTString() {
62 return String.format("%s[operator=%s]", getClass().getName(), operator);
63 }
64
65 }