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.ddl.routine;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.Setter;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.SQLSegment;
24 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
25 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
26 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateTableStatement;
27 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
28 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.TruncateStatement;
29 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DeleteStatement;
30 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
31 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
32 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.UpdateStatement;
33
34 import java.util.Optional;
35
36
37
38
39 @RequiredArgsConstructor
40 @Getter
41 @Setter
42 public class ValidStatementSegment implements SQLSegment {
43
44 private final int startIndex;
45
46 private final int stopIndex;
47
48 private SQLStatement sqlStatement;
49
50
51
52
53
54
55 public Optional<CreateTableStatement> getCreateTable() {
56 return sqlStatement instanceof CreateTableStatement ? Optional.of((CreateTableStatement) sqlStatement) : Optional.empty();
57 }
58
59
60
61
62
63
64 public Optional<AlterTableStatement> getAlterTable() {
65 return sqlStatement instanceof AlterTableStatement ? Optional.of((AlterTableStatement) sqlStatement) : Optional.empty();
66 }
67
68
69
70
71
72
73 public Optional<DropTableStatement> getDropTable() {
74 return sqlStatement instanceof DropTableStatement ? Optional.of((DropTableStatement) sqlStatement) : Optional.empty();
75 }
76
77
78
79
80
81
82 public Optional<TruncateStatement> getTruncate() {
83 return sqlStatement instanceof TruncateStatement ? Optional.of((TruncateStatement) sqlStatement) : Optional.empty();
84 }
85
86
87
88
89
90
91 public Optional<InsertStatement> getInsert() {
92 return sqlStatement instanceof InsertStatement ? Optional.of((InsertStatement) sqlStatement) : Optional.empty();
93 }
94
95
96
97
98
99
100 public Optional<InsertStatement> getReplace() {
101 return sqlStatement instanceof InsertStatement ? Optional.of((InsertStatement) sqlStatement) : Optional.empty();
102 }
103
104
105
106
107
108
109 public Optional<UpdateStatement> getUpdate() {
110 return sqlStatement instanceof UpdateStatement ? Optional.of((UpdateStatement) sqlStatement) : Optional.empty();
111 }
112
113
114
115
116
117
118 public Optional<DeleteStatement> getDelete() {
119 return sqlStatement instanceof DeleteStatement ? Optional.of((DeleteStatement) sqlStatement) : Optional.empty();
120 }
121
122
123
124
125
126
127 public Optional<SelectStatement> getSelect() {
128 return sqlStatement instanceof SelectStatement ? Optional.of((SelectStatement) sqlStatement) : Optional.empty();
129 }
130 }