1717
1818@ SuppressWarnings ({"PMD.UncommentedEmptyMethodBody" })
1919public class FromItemVisitorAdapter <T > implements FromItemVisitor <T > {
20+ private SelectVisitor <T > selectVisitor ;
21+
22+ public FromItemVisitorAdapter (SelectVisitor <T > selectVisitor ) {
23+ this .selectVisitor = selectVisitor ;
24+ }
25+
26+ public FromItemVisitorAdapter () {
27+ this .selectVisitor = new SelectVisitorAdapter <>();
28+ }
29+
30+ public SelectVisitor <T > getSelectVisitor () {
31+ return selectVisitor ;
32+ }
33+
34+ public FromItemVisitorAdapter <T > setSelectVisitor (SelectVisitor <T > selectVisitor ) {
35+ this .selectVisitor = selectVisitor ;
36+ return this ;
37+ }
2038
2139 @ Override
2240 public <S > T visit (Table table , S context ) {
@@ -25,12 +43,12 @@ public <S> T visit(Table table, S context) {
2543
2644 @ Override
2745 public <S > T visit (ParenthesedSelect select , S context ) {
28- return select .getPlainSelect ().getFromItem (). accept (this , context );
46+ return select .getPlainSelect ().accept (selectVisitor , context );
2947 }
3048
3149 @ Override
3250 public <S > T visit (LateralSubSelect lateralSubSelect , S context ) {
33- return lateralSubSelect .getPlainSelect ().getFromItem (). accept (this , context );
51+ return lateralSubSelect .getPlainSelect ().accept (selectVisitor , context );
3452 }
3553
3654 @ Override
@@ -51,14 +69,14 @@ public <S> T visit(Values values, S context) {
5169
5270 @ Override
5371 public <S > T visit (PlainSelect plainSelect , S context ) {
54- return plainSelect .getFromItem (). accept (this , context );
72+ return plainSelect .accept (selectVisitor , context );
5573 }
5674
5775 @ Override
5876 public <S > T visit (SetOperationList setOperationList , S context ) {
5977 ArrayList <T > results = new ArrayList <>();
6078 for (Select select : setOperationList .getSelects ()) {
61- results .add (select .accept (this , context ));
79+ results .add (select .accept (selectVisitor , context ));
6280 }
6381 return results .isEmpty () ? null : results .get (0 );
6482 }
@@ -75,6 +93,6 @@ public <S> T visit(Import imprt, S context) {
7593 }
7694
7795 public <S > T visit (FromQuery fromQuery , S context ) {
78- return fromQuery .getFromItem (). accept (this , context );
96+ return fromQuery .accept (selectVisitor , context );
7997 }
8098}
0 commit comments