11
11
12
12
import net .sf .jsqlparser .expression .Alias ;
13
13
import net .sf .jsqlparser .statement .ParenthesedStatement ;
14
+ import net .sf .jsqlparser .statement .StatementVisitor ;
14
15
import net .sf .jsqlparser .statement .delete .ParenthesedDelete ;
15
16
import net .sf .jsqlparser .statement .insert .ParenthesedInsert ;
16
17
import net .sf .jsqlparser .statement .update .ParenthesedUpdate ;
22
23
import java .util .List ;
23
24
import java .util .Optional ;
24
25
25
- public class WithItem <T extends ParenthesedStatement > implements Serializable {
26
- private T statement ;
26
+ public class WithItem <K extends ParenthesedStatement > implements Serializable {
27
+ private K statement ;
27
28
private Alias alias ;
28
29
private List <SelectItem <?>> withItemList ;
29
30
private boolean recursive = false ;
30
31
31
32
private boolean materialized = false ;
32
33
33
- public WithItem (T statement , Alias alias ) {
34
+ public WithItem (K statement , Alias alias ) {
34
35
this .statement = statement ;
35
36
this .alias = alias ;
36
37
}
@@ -39,15 +40,15 @@ public WithItem() {
39
40
this (null , (Alias ) null );
40
41
}
41
42
42
- public T getParenthesedStatement () {
43
+ public K getParenthesedStatement () {
43
44
return statement ;
44
45
}
45
46
46
- public void setParenthesedStatement (T statement ) {
47
+ public void setParenthesedStatement (K statement ) {
47
48
this .statement = statement ;
48
49
}
49
50
50
- public WithItem <T > withParenthesedStatement (T statement ) {
51
+ public WithItem <K > withParenthesedStatement (K statement ) {
51
52
this .setParenthesedStatement (statement );
52
53
return this ;
53
54
}
@@ -123,10 +124,15 @@ public String toString() {
123
124
return builder .toString ();
124
125
}
125
126
127
+ @ Deprecated
126
128
public <T , S > T accept (SelectVisitor <T > selectVisitor , S context ) {
127
129
return selectVisitor .visit (this , context );
128
130
}
129
131
132
+ public <T , S > T accept (StatementVisitor <T > statementVisitor , S context ) {
133
+ return statement .accept (statementVisitor , context );
134
+ }
135
+
130
136
public WithItem <?> withWithItemList (List <SelectItem <?>> withItemList ) {
131
137
this .setWithItemList (withItemList );
132
138
return this ;
@@ -169,7 +175,7 @@ public ParenthesedDelete getDelete() {
169
175
}
170
176
171
177
public void setSelect (ParenthesedSelect select ) {
172
- this .statement = (T ) select ;
178
+ this .statement = (K ) select ;
173
179
}
174
180
175
181
}
0 commit comments