1
2
3
4
5
6 package dev.metaschema.core.metapath.cst.path;
7
8 import java.util.List;
9
10 import dev.metaschema.core.metapath.IExpression;
11 import dev.metaschema.core.metapath.cst.ExpressionUtils;
12 import dev.metaschema.core.metapath.item.node.INodeItem;
13 import edu.umd.cs.findbugs.annotations.NonNull;
14
15
16
17
18
19
20 public abstract class AbstractRootPathExpression
21 extends AbstractSearchPathExpression {
22 @NonNull
23 private final IExpression expression;
24
25
26
27
28
29
30
31
32
33 @SuppressWarnings("null")
34 public AbstractRootPathExpression(
35 @NonNull String text,
36 @NonNull IExpression expression) {
37 super(text, ExpressionUtils.analyzeStaticResultType(INodeItem.class, List.of(expression)));
38 this.expression = expression;
39 }
40
41
42
43
44
45
46 @NonNull
47 public IExpression getExpression() {
48 return expression;
49 }
50
51 @SuppressWarnings("null")
52 @Override
53 public List<? extends IExpression> getChildren() {
54 return List.of(expression);
55 }
56 }