|
1 | 1 | package io.substrait.expression;
|
2 | 2 |
|
3 |
| -public abstract class AbstractExpressionVisitor<OUTPUT, EXCEPTION extends Exception> |
4 |
| - implements ExpressionVisitor<OUTPUT, EXCEPTION> { |
5 |
| - public abstract OUTPUT visitFallback(Expression expr); |
| 3 | +import io.substrait.util.VisitationContext; |
| 4 | + |
| 5 | +public abstract class AbstractExpressionVisitor<O, C extends VisitationContext, E extends Exception> |
| 6 | + implements ExpressionVisitor<O, C, E> { |
| 7 | + public abstract O visitFallback(Expression expr, C context); |
6 | 8 |
|
7 | 9 | @Override
|
8 |
| - public OUTPUT visit(Expression.NullLiteral expr) throws EXCEPTION { |
9 |
| - return visitFallback(expr); |
| 10 | + public O visit(Expression.NullLiteral expr, C context) throws E { |
| 11 | + return visitFallback(expr, context); |
10 | 12 | }
|
11 | 13 |
|
12 | 14 | @Override
|
13 |
| - public OUTPUT visit(Expression.BoolLiteral expr) throws EXCEPTION { |
14 |
| - return visitFallback(expr); |
| 15 | + public O visit(Expression.BoolLiteral expr, C context) throws E { |
| 16 | + return visitFallback(expr, context); |
15 | 17 | }
|
16 | 18 |
|
17 | 19 | @Override
|
18 |
| - public OUTPUT visit(Expression.I8Literal expr) throws EXCEPTION { |
19 |
| - return visitFallback(expr); |
| 20 | + public O visit(Expression.I8Literal expr, C context) throws E { |
| 21 | + return visitFallback(expr, context); |
20 | 22 | }
|
21 | 23 |
|
22 | 24 | @Override
|
23 |
| - public OUTPUT visit(Expression.I16Literal expr) throws EXCEPTION { |
24 |
| - return visitFallback(expr); |
| 25 | + public O visit(Expression.I16Literal expr, C context) throws E { |
| 26 | + return visitFallback(expr, context); |
25 | 27 | }
|
26 | 28 |
|
27 | 29 | @Override
|
28 |
| - public OUTPUT visit(Expression.I32Literal expr) throws EXCEPTION { |
29 |
| - return visitFallback(expr); |
| 30 | + public O visit(Expression.I32Literal expr, C context) throws E { |
| 31 | + return visitFallback(expr, context); |
30 | 32 | }
|
31 | 33 |
|
32 | 34 | @Override
|
33 |
| - public OUTPUT visit(Expression.I64Literal expr) throws EXCEPTION { |
34 |
| - return visitFallback(expr); |
| 35 | + public O visit(Expression.I64Literal expr, C context) throws E { |
| 36 | + return visitFallback(expr, context); |
35 | 37 | }
|
36 | 38 |
|
37 | 39 | @Override
|
38 |
| - public OUTPUT visit(Expression.FP32Literal expr) throws EXCEPTION { |
39 |
| - return visitFallback(expr); |
| 40 | + public O visit(Expression.FP32Literal expr, C context) throws E { |
| 41 | + return visitFallback(expr, context); |
40 | 42 | }
|
41 | 43 |
|
42 | 44 | @Override
|
43 |
| - public OUTPUT visit(Expression.FP64Literal expr) throws EXCEPTION { |
44 |
| - return visitFallback(expr); |
| 45 | + public O visit(Expression.FP64Literal expr, C context) throws E { |
| 46 | + return visitFallback(expr, context); |
45 | 47 | }
|
46 | 48 |
|
47 | 49 | @Override
|
48 |
| - public OUTPUT visit(Expression.StrLiteral expr) throws EXCEPTION { |
49 |
| - return visitFallback(expr); |
| 50 | + public O visit(Expression.StrLiteral expr, C context) throws E { |
| 51 | + return visitFallback(expr, context); |
50 | 52 | }
|
51 | 53 |
|
52 | 54 | @Override
|
53 |
| - public OUTPUT visit(Expression.BinaryLiteral expr) throws EXCEPTION { |
54 |
| - return visitFallback(expr); |
| 55 | + public O visit(Expression.BinaryLiteral expr, C context) throws E { |
| 56 | + return visitFallback(expr, context); |
55 | 57 | }
|
56 | 58 |
|
57 | 59 | @Override
|
58 |
| - public OUTPUT visit(Expression.TimeLiteral expr) throws EXCEPTION { |
59 |
| - return visitFallback(expr); |
| 60 | + public O visit(Expression.TimeLiteral expr, C context) throws E { |
| 61 | + return visitFallback(expr, context); |
60 | 62 | }
|
61 | 63 |
|
62 | 64 | @Override
|
63 |
| - public OUTPUT visit(Expression.DateLiteral expr) throws EXCEPTION { |
64 |
| - return visitFallback(expr); |
| 65 | + public O visit(Expression.DateLiteral expr, C context) throws E { |
| 66 | + return visitFallback(expr, context); |
65 | 67 | }
|
66 | 68 |
|
67 | 69 | @Override
|
68 |
| - public OUTPUT visit(Expression.TimestampLiteral expr) throws EXCEPTION { |
69 |
| - return visitFallback(expr); |
| 70 | + public O visit(Expression.TimestampLiteral expr, C context) throws E { |
| 71 | + return visitFallback(expr, context); |
70 | 72 | }
|
71 | 73 |
|
72 | 74 | @Override
|
73 |
| - public OUTPUT visit(Expression.TimestampTZLiteral expr) throws EXCEPTION { |
74 |
| - return visitFallback(expr); |
| 75 | + public O visit(Expression.TimestampTZLiteral expr, C context) throws E { |
| 76 | + return visitFallback(expr, context); |
75 | 77 | }
|
76 | 78 |
|
77 | 79 | @Override
|
78 |
| - public OUTPUT visit(Expression.PrecisionTimestampLiteral expr) throws EXCEPTION { |
79 |
| - return visitFallback(expr); |
| 80 | + public O visit(Expression.PrecisionTimestampLiteral expr, C context) throws E { |
| 81 | + return visitFallback(expr, context); |
80 | 82 | }
|
81 | 83 |
|
82 | 84 | @Override
|
83 |
| - public OUTPUT visit(Expression.PrecisionTimestampTZLiteral expr) throws EXCEPTION { |
84 |
| - return visitFallback(expr); |
| 85 | + public O visit(Expression.PrecisionTimestampTZLiteral expr, C context) throws E { |
| 86 | + return visitFallback(expr, context); |
85 | 87 | }
|
86 | 88 |
|
87 | 89 | @Override
|
88 |
| - public OUTPUT visit(Expression.IntervalYearLiteral expr) throws EXCEPTION { |
89 |
| - return visitFallback(expr); |
| 90 | + public O visit(Expression.IntervalYearLiteral expr, C context) throws E { |
| 91 | + return visitFallback(expr, context); |
90 | 92 | }
|
91 | 93 |
|
92 | 94 | @Override
|
93 |
| - public OUTPUT visit(Expression.IntervalDayLiteral expr) throws EXCEPTION { |
94 |
| - return visitFallback(expr); |
| 95 | + public O visit(Expression.IntervalDayLiteral expr, C context) throws E { |
| 96 | + return visitFallback(expr, context); |
95 | 97 | }
|
96 | 98 |
|
97 | 99 | @Override
|
98 |
| - public OUTPUT visit(Expression.IntervalCompoundLiteral expr) throws EXCEPTION { |
99 |
| - return visitFallback(expr); |
| 100 | + public O visit(Expression.IntervalCompoundLiteral expr, C context) throws E { |
| 101 | + return visitFallback(expr, context); |
100 | 102 | }
|
101 | 103 |
|
102 | 104 | @Override
|
103 |
| - public OUTPUT visit(Expression.UUIDLiteral expr) throws EXCEPTION { |
104 |
| - return visitFallback(expr); |
| 105 | + public O visit(Expression.UUIDLiteral expr, C context) throws E { |
| 106 | + return visitFallback(expr, context); |
105 | 107 | }
|
106 | 108 |
|
107 | 109 | @Override
|
108 |
| - public OUTPUT visit(Expression.FixedCharLiteral expr) throws EXCEPTION { |
109 |
| - return visitFallback(expr); |
| 110 | + public O visit(Expression.FixedCharLiteral expr, C context) throws E { |
| 111 | + return visitFallback(expr, context); |
110 | 112 | }
|
111 | 113 |
|
112 | 114 | @Override
|
113 |
| - public OUTPUT visit(Expression.VarCharLiteral expr) throws EXCEPTION { |
114 |
| - return visitFallback(expr); |
| 115 | + public O visit(Expression.VarCharLiteral expr, C context) throws E { |
| 116 | + return visitFallback(expr, context); |
115 | 117 | }
|
116 | 118 |
|
117 | 119 | @Override
|
118 |
| - public OUTPUT visit(Expression.FixedBinaryLiteral expr) throws EXCEPTION { |
119 |
| - return visitFallback(expr); |
| 120 | + public O visit(Expression.FixedBinaryLiteral expr, C context) throws E { |
| 121 | + return visitFallback(expr, context); |
120 | 122 | }
|
121 | 123 |
|
122 | 124 | @Override
|
123 |
| - public OUTPUT visit(Expression.DecimalLiteral expr) throws EXCEPTION { |
124 |
| - return visitFallback(expr); |
| 125 | + public O visit(Expression.DecimalLiteral expr, C context) throws E { |
| 126 | + return visitFallback(expr, context); |
125 | 127 | }
|
126 | 128 |
|
127 | 129 | @Override
|
128 |
| - public OUTPUT visit(Expression.MapLiteral expr) throws EXCEPTION { |
129 |
| - return visitFallback(expr); |
| 130 | + public O visit(Expression.MapLiteral expr, C context) throws E { |
| 131 | + return visitFallback(expr, context); |
130 | 132 | }
|
131 | 133 |
|
132 | 134 | @Override
|
133 |
| - public OUTPUT visit(Expression.EmptyMapLiteral expr) throws EXCEPTION { |
134 |
| - return visitFallback(expr); |
| 135 | + public O visit(Expression.EmptyMapLiteral expr, C context) throws E { |
| 136 | + return visitFallback(expr, context); |
135 | 137 | }
|
136 | 138 |
|
137 | 139 | @Override
|
138 |
| - public OUTPUT visit(Expression.ListLiteral expr) throws EXCEPTION { |
139 |
| - return visitFallback(expr); |
| 140 | + public O visit(Expression.ListLiteral expr, C context) throws E { |
| 141 | + return visitFallback(expr, context); |
140 | 142 | }
|
141 | 143 |
|
142 | 144 | @Override
|
143 |
| - public OUTPUT visit(Expression.EmptyListLiteral expr) throws EXCEPTION { |
144 |
| - return visitFallback(expr); |
| 145 | + public O visit(Expression.EmptyListLiteral expr, C context) throws E { |
| 146 | + return visitFallback(expr, context); |
145 | 147 | }
|
146 | 148 |
|
147 | 149 | @Override
|
148 |
| - public OUTPUT visit(Expression.StructLiteral expr) throws EXCEPTION { |
149 |
| - return visitFallback(expr); |
| 150 | + public O visit(Expression.StructLiteral expr, C context) throws E { |
| 151 | + return visitFallback(expr, context); |
150 | 152 | }
|
151 | 153 |
|
152 | 154 | @Override
|
153 |
| - public OUTPUT visit(Expression.Switch expr) throws EXCEPTION { |
154 |
| - return visitFallback(expr); |
| 155 | + public O visit(Expression.Switch expr, C context) throws E { |
| 156 | + return visitFallback(expr, context); |
155 | 157 | }
|
156 | 158 |
|
157 | 159 | @Override
|
158 |
| - public OUTPUT visit(Expression.IfThen expr) throws EXCEPTION { |
159 |
| - return visitFallback(expr); |
| 160 | + public O visit(Expression.IfThen expr, C context) throws E { |
| 161 | + return visitFallback(expr, context); |
160 | 162 | }
|
161 | 163 |
|
162 | 164 | @Override
|
163 |
| - public OUTPUT visit(Expression.ScalarFunctionInvocation expr) throws EXCEPTION { |
164 |
| - return visitFallback(expr); |
| 165 | + public O visit(Expression.ScalarFunctionInvocation expr, C context) throws E { |
| 166 | + return visitFallback(expr, context); |
165 | 167 | }
|
166 | 168 |
|
167 | 169 | @Override
|
168 |
| - public OUTPUT visit(Expression.WindowFunctionInvocation expr) throws EXCEPTION { |
169 |
| - return visitFallback(expr); |
| 170 | + public O visit(Expression.WindowFunctionInvocation expr, C context) throws E { |
| 171 | + return visitFallback(expr, context); |
170 | 172 | }
|
171 | 173 |
|
172 | 174 | @Override
|
173 |
| - public OUTPUT visit(Expression.Cast expr) throws EXCEPTION { |
174 |
| - return visitFallback(expr); |
| 175 | + public O visit(Expression.Cast expr, C context) throws E { |
| 176 | + return visitFallback(expr, context); |
175 | 177 | }
|
176 | 178 |
|
177 | 179 | @Override
|
178 |
| - public OUTPUT visit(Expression.SingleOrList expr) throws EXCEPTION { |
179 |
| - return visitFallback(expr); |
| 180 | + public O visit(Expression.SingleOrList expr, C context) throws E { |
| 181 | + return visitFallback(expr, context); |
180 | 182 | }
|
181 | 183 |
|
182 | 184 | @Override
|
183 |
| - public OUTPUT visit(Expression.MultiOrList expr) throws EXCEPTION { |
184 |
| - return visitFallback(expr); |
| 185 | + public O visit(Expression.MultiOrList expr, C context) throws E { |
| 186 | + return visitFallback(expr, context); |
185 | 187 | }
|
186 | 188 |
|
187 | 189 | @Override
|
188 |
| - public OUTPUT visit(FieldReference expr) throws EXCEPTION { |
189 |
| - return visitFallback(expr); |
| 190 | + public O visit(FieldReference expr, C context) throws E { |
| 191 | + return visitFallback(expr, context); |
190 | 192 | }
|
191 | 193 |
|
192 | 194 | @Override
|
193 |
| - public OUTPUT visit(Expression.SetPredicate expr) throws EXCEPTION { |
194 |
| - return visitFallback(expr); |
| 195 | + public O visit(Expression.SetPredicate expr, C context) throws E { |
| 196 | + return visitFallback(expr, context); |
195 | 197 | }
|
196 | 198 |
|
197 | 199 | @Override
|
198 |
| - public OUTPUT visit(Expression.ScalarSubquery expr) throws EXCEPTION { |
199 |
| - return visitFallback(expr); |
| 200 | + public O visit(Expression.ScalarSubquery expr, C context) throws E { |
| 201 | + return visitFallback(expr, context); |
200 | 202 | }
|
201 | 203 |
|
202 | 204 | @Override
|
203 |
| - public OUTPUT visit(Expression.InPredicate expr) throws EXCEPTION { |
204 |
| - return visitFallback(expr); |
| 205 | + public O visit(Expression.InPredicate expr, C context) throws E { |
| 206 | + return visitFallback(expr, context); |
205 | 207 | }
|
206 | 208 | }
|
0 commit comments