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.statement.dml;
19
20 import lombok.Getter;
21 import lombok.Setter;
22 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.combine.CombineSegment;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ProjectionsSegment;
24 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.order.GroupBySegment;
25 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.order.OrderBySegment;
26 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.HavingSegment;
27 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.WhereSegment;
28 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableSegment;
29 import org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
30
31 import java.util.Optional;
32
33
34
35
36 @Getter
37 @Setter
38 public abstract class SelectStatement extends AbstractSQLStatement implements DMLStatement {
39
40 private ProjectionsSegment projections;
41
42 private TableSegment from;
43
44 private WhereSegment where;
45
46 private GroupBySegment groupBy;
47
48 private HavingSegment having;
49
50 private OrderBySegment orderBy;
51
52 private CombineSegment combine;
53
54
55
56
57
58
59 public Optional<TableSegment> getFrom() {
60 return Optional.ofNullable(from);
61 }
62
63
64
65
66
67
68 public Optional<WhereSegment> getWhere() {
69 return Optional.ofNullable(where);
70 }
71
72
73
74
75
76
77 public Optional<GroupBySegment> getGroupBy() {
78 return Optional.ofNullable(groupBy);
79 }
80
81
82
83
84
85
86 public Optional<HavingSegment> getHaving() {
87 return Optional.ofNullable(having);
88 }
89
90
91
92
93
94
95 public Optional<OrderBySegment> getOrderBy() {
96 return Optional.ofNullable(orderBy);
97 }
98
99
100
101
102
103
104 public Optional<CombineSegment> getCombine() {
105 return Optional.ofNullable(combine);
106 }
107 }