12
12
import net .sf .jsqlparser .schema .Table ;
13
13
import net .sf .jsqlparser .statement .piped .FromQuery ;
14
14
15
+ import java .util .ArrayList ;
16
+
15
17
@ SuppressWarnings ({"PMD.UncommentedEmptyMethodBody" })
16
18
public class FromItemVisitorAdapter <T > implements FromItemVisitor <T > {
17
19
18
20
@ Override
19
21
public <S > T visit (Table table , S context ) {
20
-
21
22
return null ;
22
23
}
23
24
24
25
@ Override
25
26
public <S > T visit (ParenthesedSelect select , S context ) {
26
-
27
- return null ;
27
+ return select .getPlainSelect ().getFromItem ().accept (this , context );
28
28
}
29
29
30
30
@ Override
31
31
public <S > T visit (LateralSubSelect lateralSubSelect , S context ) {
32
-
33
- return null ;
32
+ return lateralSubSelect .getPlainSelect ().getFromItem ().accept (this , context );
34
33
}
35
34
36
35
@ Override
@@ -41,36 +40,35 @@ public <S> T visit(TableFunction tableFunction, S context) {
41
40
42
41
@ Override
43
42
public <S > T visit (ParenthesedFromItem fromItem , S context ) {
44
-
45
- return null ;
43
+ return fromItem .getFromItem ().accept (this , context );
46
44
}
47
45
48
46
@ Override
49
47
public <S > T visit (Values values , S context ) {
50
-
51
48
return null ;
52
49
}
53
50
54
51
@ Override
55
52
public <S > T visit (PlainSelect plainSelect , S context ) {
56
-
57
- return null ;
53
+ return plainSelect .getFromItem ().accept (this , context );
58
54
}
59
55
60
56
@ Override
61
57
public <S > T visit (SetOperationList setOperationList , S context ) {
62
-
63
- return null ;
58
+ ArrayList <T > results = new ArrayList <>();
59
+ for (Select select : setOperationList .getSelects ()) {
60
+ results .add (select .accept (this , context ));
61
+ }
62
+ return results .isEmpty () ? null : results .get (0 );
64
63
}
65
64
66
65
@ Override
67
66
public <S > T visit (TableStatement tableStatement , S context ) {
68
-
69
67
return null ;
70
68
}
71
69
72
70
@ Override
73
71
public <S > T visit (FromQuery fromQuery , S context ) {
74
- return null ;
72
+ return fromQuery . getFromItem (). accept ( this , context ) ;
75
73
}
76
74
}
0 commit comments