1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.sql.common.segment.dml.order.item;
19
20 import lombok.Getter;
21 import org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
22 import org.apache.shardingsphere.sql.parser.sql.common.enums.OrderDirection;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
24
25
26
27
28 @Getter
29 public final class ExpressionOrderByItemSegment extends TextOrderByItemSegment {
30
31 private final String expression;
32
33 private final ExpressionSegment expr;
34
35 public ExpressionOrderByItemSegment(final int startIndex, final int stopIndex, final String expression, final OrderDirection orderDirection, final NullsOrderType nullsOrderType) {
36 super(startIndex, stopIndex, orderDirection, nullsOrderType);
37 this.expression = expression;
38 expr = null;
39 }
40
41 public ExpressionOrderByItemSegment(final int startIndex, final int stopIndex, final String expression, final OrderDirection orderDirection, final NullsOrderType nullsOrderType,
42 final ExpressionSegment expr) {
43 super(startIndex, stopIndex, orderDirection, nullsOrderType);
44 this.expression = expression;
45 this.expr = expr;
46 }
47
48 @Override
49 public String getText() {
50 return expression;
51 }
52 }