1 package org.davidmoten.rx.jdbc;
2
3 import java.io.InputStream;
4 import java.io.Reader;
5 import java.math.BigDecimal;
6 import java.net.URL;
7 import java.sql.Array;
8 import java.sql.Blob;
9 import java.sql.Clob;
10 import java.sql.Date;
11 import java.sql.NClob;
12 import java.sql.ParameterMetaData;
13 import java.sql.PreparedStatement;
14 import java.sql.Ref;
15 import java.sql.ResultSetMetaData;
16 import java.sql.RowId;
17 import java.sql.SQLException;
18 import java.sql.SQLWarning;
19 import java.sql.SQLXML;
20 import java.sql.Time;
21 import java.sql.Timestamp;
22 import java.util.Calendar;
23
24 final class TransactedPreparedStatement implements PreparedStatement {
25
26 private final TransactedConnection con;
27 private final PreparedStatement ps;
28
29 TransactedPreparedStatement(TransactedConnection con, PreparedStatement ps) {
30 this.con = con;
31 this.ps = ps;
32 }
33
34 @Override
35 public void addBatch() throws SQLException {
36 ps.addBatch();
37 }
38
39 @Override
40 public void addBatch(String arg0) throws SQLException {
41 ps.addBatch(arg0);
42 }
43
44 @Override
45 public void cancel() throws SQLException {
46 ps.cancel();
47 }
48
49 @Override
50 public void clearBatch() throws SQLException {
51 ps.clearBatch();
52 }
53
54 @Override
55 public void clearParameters() throws SQLException {
56 ps.clearParameters();
57 }
58
59 @Override
60 public void clearWarnings() throws SQLException {
61 ps.clearWarnings();
62 }
63
64 @Override
65 public void close() throws SQLException {
66 ps.close();
67 }
68
69 @Override
70 public void closeOnCompletion() throws SQLException {
71 ps.closeOnCompletion();
72 }
73
74 @Override
75 public boolean execute() throws SQLException {
76 return ps.execute();
77 }
78
79 @Override
80 public boolean execute(String arg0, int arg1) throws SQLException {
81 return ps.execute(arg0, arg1);
82 }
83
84 @Override
85 public boolean execute(String arg0, int[] arg1) throws SQLException {
86 return ps.execute(arg0, arg1);
87 }
88
89 @Override
90 public boolean execute(String arg0, String[] arg1) throws SQLException {
91 return ps.execute(arg0, arg1);
92 }
93
94 @Override
95 public boolean execute(String arg0) throws SQLException {
96 return ps.execute(arg0);
97 }
98
99 @Override
100 public int[] executeBatch() throws SQLException {
101 return ps.executeBatch();
102 }
103
104 @Override
105 public TransactedResultSet executeQuery() throws SQLException {
106 return new TransactedResultSet(this, ps.executeQuery());
107 }
108
109 @Override
110 public TransactedResultSet executeQuery(String sql) throws SQLException {
111 return new TransactedResultSet(this, ps.executeQuery(sql));
112 }
113
114 @Override
115 public int executeUpdate() throws SQLException {
116 return ps.executeUpdate();
117 }
118
119 @Override
120 public int executeUpdate(String arg0, int arg1) throws SQLException {
121 return ps.executeUpdate(arg0, arg1);
122 }
123
124 @Override
125 public int executeUpdate(String arg0, int[] arg1) throws SQLException {
126 return ps.executeUpdate(arg0, arg1);
127 }
128
129 @Override
130 public int executeUpdate(String arg0, String[] arg1) throws SQLException {
131 return ps.executeUpdate(arg0, arg1);
132 }
133
134 @Override
135 public int executeUpdate(String arg0) throws SQLException {
136 return ps.executeUpdate(arg0);
137 }
138
139 @Override
140 public TransactedConnection getConnection() throws SQLException {
141 return con;
142 }
143
144 @Override
145 public int getFetchDirection() throws SQLException {
146 return ps.getFetchDirection();
147 }
148
149 @Override
150 public int getFetchSize() throws SQLException {
151 return ps.getFetchSize();
152 }
153
154 @Override
155 public TransactedResultSet getGeneratedKeys() throws SQLException {
156 return new TransactedResultSet(this, ps.getGeneratedKeys());
157 }
158
159 @Override
160 public int getMaxFieldSize() throws SQLException {
161 return ps.getMaxFieldSize();
162 }
163
164 @Override
165 public int getMaxRows() throws SQLException {
166 return ps.getMaxRows();
167 }
168
169 @Override
170 public ResultSetMetaData getMetaData() throws SQLException {
171 return ps.getMetaData();
172 }
173
174 @Override
175 public boolean getMoreResults() throws SQLException {
176 return ps.getMoreResults();
177 }
178
179 @Override
180 public boolean getMoreResults(int arg0) throws SQLException {
181 return ps.getMoreResults(arg0);
182 }
183
184 @Override
185 public ParameterMetaData getParameterMetaData() throws SQLException {
186 return ps.getParameterMetaData();
187 }
188
189 @Override
190 public int getQueryTimeout() throws SQLException {
191 return ps.getQueryTimeout();
192 }
193
194 @Override
195 public TransactedResultSet getResultSet() throws SQLException {
196 return new TransactedResultSet(this, ps.getResultSet());
197 }
198
199 @Override
200 public int getResultSetConcurrency() throws SQLException {
201 return ps.getResultSetConcurrency();
202 }
203
204 @Override
205 public int getResultSetHoldability() throws SQLException {
206 return ps.getResultSetHoldability();
207 }
208
209 @Override
210 public int getResultSetType() throws SQLException {
211 return ps.getResultSetType();
212 }
213
214 @Override
215 public int getUpdateCount() throws SQLException {
216 return ps.getUpdateCount();
217 }
218
219 @Override
220 public SQLWarning getWarnings() throws SQLException {
221 return ps.getWarnings();
222 }
223
224 @Override
225 public boolean isCloseOnCompletion() throws SQLException {
226 return ps.isCloseOnCompletion();
227 }
228
229 @Override
230 public boolean isClosed() throws SQLException {
231 return ps.isClosed();
232 }
233
234 @Override
235 public boolean isPoolable() throws SQLException {
236 return ps.isPoolable();
237 }
238
239 @Override
240 public boolean isWrapperFor(Class<?> arg0) throws SQLException {
241 return ps.isWrapperFor(arg0);
242 }
243
244 @Override
245 public void setArray(int arg0, Array arg1) throws SQLException {
246 ps.setArray(arg0, arg1);
247 }
248
249 @Override
250 public void setAsciiStream(int arg0, InputStream arg1, int arg2) throws SQLException {
251 ps.setAsciiStream(arg0, arg1, arg2);
252 }
253
254 @Override
255 public void setAsciiStream(int arg0, InputStream arg1, long arg2) throws SQLException {
256 ps.setAsciiStream(arg0, arg1, arg2);
257 }
258
259 @Override
260 public void setAsciiStream(int arg0, InputStream arg1) throws SQLException {
261 ps.setAsciiStream(arg0, arg1);
262 }
263
264 @Override
265 public void setBigDecimal(int arg0, BigDecimal arg1) throws SQLException {
266 ps.setBigDecimal(arg0, arg1);
267 }
268
269 @Override
270 public void setBinaryStream(int arg0, InputStream arg1, int arg2) throws SQLException {
271 ps.setBinaryStream(arg0, arg1, arg2);
272 }
273
274 @Override
275 public void setBinaryStream(int arg0, InputStream arg1, long arg2) throws SQLException {
276 ps.setBinaryStream(arg0, arg1, arg2);
277 }
278
279 @Override
280 public void setBinaryStream(int arg0, InputStream arg1) throws SQLException {
281 ps.setBinaryStream(arg0, arg1);
282 }
283
284 @Override
285 public void setBlob(int arg0, Blob arg1) throws SQLException {
286 ps.setBlob(arg0, arg1);
287 }
288
289 @Override
290 public void setBlob(int arg0, InputStream arg1, long arg2) throws SQLException {
291 ps.setBlob(arg0, arg1, arg2);
292 }
293
294 @Override
295 public void setBlob(int arg0, InputStream arg1) throws SQLException {
296 ps.setBlob(arg0, arg1);
297 }
298
299 @Override
300 public void setBoolean(int arg0, boolean arg1) throws SQLException {
301 ps.setBoolean(arg0, arg1);
302 }
303
304 @Override
305 public void setByte(int arg0, byte arg1) throws SQLException {
306 ps.setByte(arg0, arg1);
307 }
308
309 @Override
310 public void setBytes(int arg0, byte[] arg1) throws SQLException {
311 ps.setBytes(arg0, arg1);
312 }
313
314 @Override
315 public void setCharacterStream(int arg0, Reader arg1, int arg2) throws SQLException {
316 ps.setCharacterStream(arg0, arg1, arg2);
317 }
318
319 @Override
320 public void setCharacterStream(int arg0, Reader arg1, long arg2) throws SQLException {
321 ps.setCharacterStream(arg0, arg1, arg2);
322 }
323
324 @Override
325 public void setCharacterStream(int arg0, Reader arg1) throws SQLException {
326 ps.setCharacterStream(arg0, arg1);
327 }
328
329 @Override
330 public void setClob(int arg0, Clob arg1) throws SQLException {
331 ps.setClob(arg0, arg1);
332 }
333
334 @Override
335 public void setClob(int arg0, Reader arg1, long arg2) throws SQLException {
336 ps.setClob(arg0, arg1, arg2);
337 }
338
339 @Override
340 public void setClob(int arg0, Reader arg1) throws SQLException {
341 ps.setClob(arg0, arg1);
342 }
343
344 @Override
345 public void setCursorName(String arg0) throws SQLException {
346 ps.setCursorName(arg0);
347 }
348
349 @Override
350 public void setDate(int arg0, Date arg1, Calendar arg2) throws SQLException {
351 ps.setDate(arg0, arg1, arg2);
352 }
353
354 @Override
355 public void setDate(int arg0, Date arg1) throws SQLException {
356 ps.setDate(arg0, arg1);
357 }
358
359 @Override
360 public void setDouble(int arg0, double arg1) throws SQLException {
361 ps.setDouble(arg0, arg1);
362 }
363
364 @Override
365 public void setEscapeProcessing(boolean arg0) throws SQLException {
366 ps.setEscapeProcessing(arg0);
367 }
368
369 @Override
370 public void setFetchDirection(int arg0) throws SQLException {
371 ps.setFetchDirection(arg0);
372 }
373
374 @Override
375 public void setFetchSize(int arg0) throws SQLException {
376 ps.setFetchSize(arg0);
377 }
378
379 @Override
380 public void setFloat(int arg0, float arg1) throws SQLException {
381 ps.setFloat(arg0, arg1);
382 }
383
384 @Override
385 public void setInt(int arg0, int arg1) throws SQLException {
386 ps.setInt(arg0, arg1);
387 }
388
389 @Override
390 public void setLong(int arg0, long arg1) throws SQLException {
391 ps.setLong(arg0, arg1);
392 }
393
394 @Override
395 public void setMaxFieldSize(int arg0) throws SQLException {
396 ps.setMaxFieldSize(arg0);
397 }
398
399 @Override
400 public void setMaxRows(int arg0) throws SQLException {
401 ps.setMaxRows(arg0);
402 }
403
404 @Override
405 public void setNCharacterStream(int arg0, Reader arg1, long arg2) throws SQLException {
406 ps.setNCharacterStream(arg0, arg1, arg2);
407 }
408
409 @Override
410 public void setNCharacterStream(int arg0, Reader arg1) throws SQLException {
411 ps.setNCharacterStream(arg0, arg1);
412 }
413
414 @Override
415 public void setNClob(int arg0, NClob arg1) throws SQLException {
416 ps.setNClob(arg0, arg1);
417 }
418
419 @Override
420 public void setNClob(int arg0, Reader arg1, long arg2) throws SQLException {
421 ps.setNClob(arg0, arg1, arg2);
422 }
423
424 @Override
425 public void setNClob(int arg0, Reader arg1) throws SQLException {
426 ps.setNClob(arg0, arg1);
427 }
428
429 @Override
430 public void setNString(int arg0, String arg1) throws SQLException {
431 ps.setNString(arg0, arg1);
432 }
433
434 @Override
435 public void setNull(int arg0, int arg1, String arg2) throws SQLException {
436 ps.setNull(arg0, arg1, arg2);
437 }
438
439 @Override
440 public void setNull(int arg0, int arg1) throws SQLException {
441 ps.setNull(arg0, arg1);
442 }
443
444 @Override
445 public void setObject(int arg0, Object arg1, int arg2, int arg3) throws SQLException {
446 ps.setObject(arg0, arg1, arg2, arg3);
447 }
448
449 @Override
450 public void setObject(int arg0, Object arg1, int arg2) throws SQLException {
451 ps.setObject(arg0, arg1, arg2);
452 }
453
454 @Override
455 public void setObject(int arg0, Object arg1) throws SQLException {
456 ps.setObject(arg0, arg1);
457 }
458
459 @Override
460 public void setPoolable(boolean arg0) throws SQLException {
461 ps.setPoolable(arg0);
462 }
463
464 @Override
465 public void setQueryTimeout(int arg0) throws SQLException {
466 ps.setQueryTimeout(arg0);
467 }
468
469 @Override
470 public void setRef(int arg0, Ref arg1) throws SQLException {
471 ps.setRef(arg0, arg1);
472 }
473
474 @Override
475 public void setRowId(int arg0, RowId arg1) throws SQLException {
476 ps.setRowId(arg0, arg1);
477 }
478
479 @Override
480 public void setSQLXML(int arg0, SQLXML arg1) throws SQLException {
481 ps.setSQLXML(arg0, arg1);
482 }
483
484 @Override
485 public void setShort(int arg0, short arg1) throws SQLException {
486 ps.setShort(arg0, arg1);
487 }
488
489 @Override
490 public void setString(int arg0, String arg1) throws SQLException {
491 ps.setString(arg0, arg1);
492 }
493
494 @Override
495 public void setTime(int arg0, Time arg1, Calendar arg2) throws SQLException {
496 ps.setTime(arg0, arg1, arg2);
497 }
498
499 @Override
500 public void setTime(int arg0, Time arg1) throws SQLException {
501 ps.setTime(arg0, arg1);
502 }
503
504 @Override
505 public void setTimestamp(int arg0, Timestamp arg1, Calendar arg2) throws SQLException {
506 ps.setTimestamp(arg0, arg1, arg2);
507 }
508
509 @Override
510 public void setTimestamp(int arg0, Timestamp arg1) throws SQLException {
511 ps.setTimestamp(arg0, arg1);
512 }
513
514 @Override
515 public void setURL(int arg0, URL arg1) throws SQLException {
516 ps.setURL(arg0, arg1);
517 }
518
519 @Override
520 @Deprecated
521 public void setUnicodeStream(int arg0, InputStream arg1, int arg2) throws SQLException {
522 ps.setUnicodeStream(arg0, arg1, arg2);
523 }
524
525 @Override
526 public <T> T unwrap(Class<T> arg0) throws SQLException {
527 return ps.unwrap(arg0);
528 }
529
530 }