View Javadoc
1   /*
2    * $Source$
3    * $Revision$
4    *
5    * Copyright (C) 2008 Tim Pizey
6    *
7    * Part of Melati (http://melati.org), a framework for the rapid
8    * development of clean, maintainable web applications.
9    *
10   * Melati is free software; Permission is granted to copy, distribute
11   * and/or modify this software under the terms either:
12   *
13   * a) the GNU General Public License as published by the Free Software
14   *    Foundation; either version 2 of the License, or (at your option)
15   *    any later version,
16   *
17   *    or
18   *
19   * b) any version of the Melati Software License, as published
20   *    at http://melati.org
21   *
22   * You should have received a copy of the GNU General Public License and
23   * the Melati Software License along with this program;
24   * if not, write to the Free Software Foundation, Inc.,
25   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA to obtain the
26   * GNU General Public License and visit http://melati.org to obtain the
27   * Melati Software License.
28   *
29   * Feel free to contact the Developers of Melati (http://melati.org),
30   * if you would like to work out a different arrangement than the options
31   * outlined here.  It is our intention to allow Melati to be used by as
32   * wide an audience as possible.
33   *
34   * This program is distributed in the hope that it will be useful,
35   * but WITHOUT ANY WARRANTY; without even the implied warranty of
36   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37   * GNU General Public License for more details.
38   *
39   * Contact details for copyright holder:
40   *
41   *     Tim Pizey <timp At paneris.org>
42   *     http://paneris.org/~timp
43   */
44  
45  package org.melati.poem.dbms.test.sql;
46  
47  import java.io.InputStream;
48  import java.io.Reader;
49  import java.math.BigDecimal;
50  import java.net.URL;
51  import java.sql.Array;
52  import java.sql.Blob;
53  import java.sql.Clob;
54  import java.sql.Date;
55  import java.sql.Ref;
56  import java.sql.ResultSet;
57  import java.sql.ResultSetMetaData;
58  import java.sql.SQLException;
59  import java.sql.SQLWarning;
60  import java.sql.Statement;
61  import java.sql.Time;
62  import java.sql.Timestamp;
63  import java.util.Calendar;
64  import java.util.Map;
65  
66  /**
67   * The JDBC3 methods of a {@link ResultSet}, decorated to throw an SQLException on command.
68   * 
69   * @author timp
70   * @since  5 Feb 2008
71   *
72   */
73  public abstract class ThrowingResultSetJdbc3 
74      extends Thrower 
75      implements ResultSet {
76  
77    ResultSet it = null;
78  
79  
80    /**
81     * {@inheritDoc}
82     * @see java.sql.ResultSet#absolute(int)
83     */
84    public boolean absolute(int row) throws SQLException {
85      if (shouldThrow(this.getClass().getInterfaces()[0], "absolute"))
86        throw new SQLException("ResultSet bombed");
87       return it.absolute(row);
88    }
89  
90    /**
91     * {@inheritDoc}
92     * @see java.sql.ResultSet#afterLast()
93     */
94    public void afterLast() throws SQLException {
95      if (shouldThrow(this.getClass().getInterfaces()[0], "afterLast"))
96        throw new SQLException("ResultSet bombed");
97      it.afterLast();
98    }
99  
100   /**
101    * {@inheritDoc}
102    * @see java.sql.ResultSet#beforeFirst()
103    */
104   public void beforeFirst() throws SQLException {
105     if (shouldThrow(this.getClass().getInterfaces()[0], "beforeFirst"))
106       throw new SQLException("ResultSet bombed");
107     it.beforeFirst();
108   }
109 
110   /**
111    * {@inheritDoc}
112    * @see java.sql.ResultSet#cancelRowUpdates()
113    */
114   public void cancelRowUpdates() throws SQLException {
115     if (shouldThrow(this.getClass().getInterfaces()[0], "cancelRowUpdates"))
116       throw new SQLException("ResultSet bombed");
117     it.cancelRowUpdates();
118   }
119 
120   /**
121    * {@inheritDoc}
122    * @see java.sql.ResultSet#clearWarnings()
123    */
124   public void clearWarnings() throws SQLException {
125     if (shouldThrow(this.getClass().getInterfaces()[0], "clearWarnings"))
126       throw new SQLException("ResultSet bombed");
127     it.clearWarnings();
128   }
129 
130   /**
131    * {@inheritDoc}
132    * @see java.sql.ResultSet#close()
133    */
134   public void close() throws SQLException {
135     if (shouldThrow(this.getClass().getInterfaces()[0], "close"))
136       throw new SQLException("ResultSet bombed");
137     it.close();
138   }
139 
140   /**
141    * {@inheritDoc}
142    * @see java.sql.ResultSet#deleteRow()
143    */
144   public void deleteRow() throws SQLException {
145     if (shouldThrow(this.getClass().getInterfaces()[0], "deleteRow"))
146       throw new SQLException("ResultSet bombed");
147     it.deleteRow();
148   }
149 
150   /**
151    * {@inheritDoc}
152    * @see java.sql.ResultSet#findColumn(java.lang.String)
153    */
154   public int findColumn(String columnName) throws SQLException {
155     if (shouldThrow(this.getClass().getInterfaces()[0], "findColumn"))
156       throw new SQLException("ResultSet bombed");
157     return it.findColumn(columnName);
158   }
159 
160   /**
161    * {@inheritDoc}
162    * @see java.sql.ResultSet#first()
163    */
164   public boolean first() throws SQLException {
165     if (shouldThrow(this.getClass().getInterfaces()[0], "first"))
166       throw new SQLException("ResultSet bombed");
167     return it.first();
168   }
169 
170   /**
171    * {@inheritDoc}
172    * @see java.sql.ResultSet#getArray(int)
173    */
174   public Array getArray(int i) throws SQLException {
175     if (shouldThrow(this.getClass().getInterfaces()[0], "getArray"))
176       throw new SQLException("ResultSet bombed");
177     return new ThrowingArray(it.getArray(i));
178   }
179 
180   /**
181    * {@inheritDoc}
182    * @see java.sql.ResultSet#getArray(java.lang.String)
183    */
184   public Array getArray(String colName) throws SQLException {
185     if (shouldThrow(this.getClass().getInterfaces()[0], "getArray"))
186       throw new SQLException("ResultSet bombed");
187     return new ThrowingArray(it.getArray(colName));
188   }
189 
190   /**
191    * {@inheritDoc}
192    * @see java.sql.ResultSet#getAsciiStream(int)
193    */
194   public InputStream getAsciiStream(int columnIndex) throws SQLException {
195     if (shouldThrow(this.getClass().getInterfaces()[0], "getAsciiStream"))
196       throw new SQLException("ResultSet bombed");
197     return it.getAsciiStream(columnIndex);
198   }
199 
200   /**
201    * {@inheritDoc}
202    * @see java.sql.ResultSet#getAsciiStream(java.lang.String)
203    */
204   public InputStream getAsciiStream(String columnName) throws SQLException {
205     if (shouldThrow(this.getClass().getInterfaces()[0], "getAsciiStream"))
206       throw new SQLException("ResultSet bombed");
207     return it.getAsciiStream(columnName);
208   }
209 
210   /**
211    * {@inheritDoc}
212    * @see java.sql.ResultSet#getBigDecimal(int)
213    */
214   public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
215     if (shouldThrow(this.getClass().getInterfaces()[0], "getBigDecimal"))
216       throw new SQLException("ResultSet bombed");
217     return it.getBigDecimal(columnIndex);
218   }
219 
220   /**
221    * {@inheritDoc}
222    * @see java.sql.ResultSet#getBigDecimal(java.lang.String)
223    */
224   public BigDecimal getBigDecimal(String columnName) throws SQLException {
225     if (shouldThrow(this.getClass().getInterfaces()[0], "getBigDecimal"))
226       throw new SQLException("ResultSet bombed");
227     return it.getBigDecimal(columnName);
228   }
229 
230   /**
231    * {@inheritDoc}
232    * @see java.sql.ResultSet#getBigDecimal(int, int)
233    */
234   @SuppressWarnings("deprecation")
235   public BigDecimal getBigDecimal(int columnIndex, int scale)
236       throws SQLException {
237     if (shouldThrow(this.getClass().getInterfaces()[0], "getBigDecimal"))
238       throw new SQLException("ResultSet bombed");
239     return it.getBigDecimal(columnIndex, scale);
240   }
241 
242   /**
243    * {@inheritDoc}
244    * @see java.sql.ResultSet#getBigDecimal(java.lang.String, int)
245    */
246   @SuppressWarnings("deprecation")
247   public BigDecimal getBigDecimal(String columnName, int scale)
248       throws SQLException {
249     if (shouldThrow(this.getClass().getInterfaces()[0], "getBigDecimal"))
250       throw new SQLException("ResultSet bombed");
251     return it.getBigDecimal(columnName, scale);
252   }
253 
254   /**
255    * {@inheritDoc}
256    * @see java.sql.ResultSet#getBinaryStream(int)
257    */
258   public InputStream getBinaryStream(int columnIndex) throws SQLException {
259     if (shouldThrow(this.getClass().getInterfaces()[0], "getBinaryStream"))
260       throw new SQLException("ResultSet bombed");
261     return it.getBinaryStream(columnIndex);
262   }
263 
264   /**
265    * {@inheritDoc}
266    * @see java.sql.ResultSet#getBinaryStream(java.lang.String)
267    */
268   public InputStream getBinaryStream(String columnName) throws SQLException {
269     if (shouldThrow(this.getClass().getInterfaces()[0], "getBinaryStream"))
270       throw new SQLException("ResultSet bombed");
271     return it.getBinaryStream(columnName);
272   }
273 
274   /**
275    * {@inheritDoc}
276    * @see java.sql.ResultSet#getBlob(int)
277    */
278   public Blob getBlob(int i) throws SQLException {
279     if (shouldThrow(this.getClass().getInterfaces()[0], "getBlob"))
280       throw new SQLException("ResultSet bombed");
281     return new ThrowingBlob(it.getBlob(i));
282   }
283 
284   /**
285    * {@inheritDoc}
286    * @see java.sql.ResultSet#getBlob(java.lang.String)
287    */
288   public Blob getBlob(String colName) throws SQLException {
289     if (shouldThrow(this.getClass().getInterfaces()[0], "getBlob"))
290       throw new SQLException("ResultSet bombed");
291     return new ThrowingBlob(it.getBlob(colName));
292   }
293 
294   /**
295    * {@inheritDoc}
296    * @see java.sql.ResultSet#getBoolean(int)
297    */
298   public boolean getBoolean(int columnIndex) throws SQLException {
299     if (shouldThrow(this.getClass().getInterfaces()[0], "getBoolean"))
300       throw new SQLException("ResultSet bombed");
301     return it.getBoolean(columnIndex);
302   }
303 
304   /**
305    * {@inheritDoc}
306    * @see java.sql.ResultSet#getBoolean(java.lang.String)
307    */
308   public boolean getBoolean(String columnName) throws SQLException {
309     if (shouldThrow(this.getClass().getInterfaces()[0], "getBoolean"))
310       throw new SQLException("ResultSet bombed");
311     return it.getBoolean(columnName);
312   }
313 
314   /**
315    * {@inheritDoc}
316    * @see java.sql.ResultSet#getByte(int)
317    */
318   public byte getByte(int columnIndex) throws SQLException {
319     if (shouldThrow(this.getClass().getInterfaces()[0], "getByte"))
320       throw new SQLException("ResultSet bombed");
321     return it.getByte(columnIndex);
322   }
323 
324   /**
325    * {@inheritDoc}
326    * @see java.sql.ResultSet#getByte(java.lang.String)
327    */
328   public byte getByte(String columnName) throws SQLException {
329     if (shouldThrow(this.getClass().getInterfaces()[0], "getByte"))
330       throw new SQLException("ResultSet bombed");
331     return it.getByte(columnName);
332   }
333 
334   /**
335    * {@inheritDoc}
336    * @see java.sql.ResultSet#getBytes(int)
337    */
338   public byte[] getBytes(int columnIndex) throws SQLException {
339     if (shouldThrow(this.getClass().getInterfaces()[0], "getBytes"))
340       throw new SQLException("ResultSet bombed");
341     return it.getBytes(columnIndex);
342   }
343 
344   /**
345    * {@inheritDoc}
346    * @see java.sql.ResultSet#getBytes(java.lang.String)
347    */
348   public byte[] getBytes(String columnName) throws SQLException {
349     if (shouldThrow(this.getClass().getInterfaces()[0], "getBytes"))
350       throw new SQLException("ResultSet bombed");
351     return it.getBytes(columnName);
352   }
353 
354   /**
355    * {@inheritDoc}
356    * @see java.sql.ResultSet#getCharacterStream(int)
357    */
358   public Reader getCharacterStream(int columnIndex) throws SQLException {
359     if (shouldThrow(this.getClass().getInterfaces()[0], "getCharacterStream"))
360       throw new SQLException("ResultSet bombed");
361     return it.getCharacterStream(columnIndex);
362   }
363 
364   /**
365    * {@inheritDoc}
366    * @see java.sql.ResultSet#getCharacterStream(java.lang.String)
367    */
368   public Reader getCharacterStream(String columnName) throws SQLException {
369     if (shouldThrow(this.getClass().getInterfaces()[0], "getCharacterStream"))
370       throw new SQLException("ResultSet bombed");
371     return it.getCharacterStream(columnName);
372   }
373 
374   /**
375    * {@inheritDoc}
376    * @see java.sql.ResultSet#getClob(int)
377    */
378   public Clob getClob(int i) throws SQLException {
379     if (shouldThrow(this.getClass().getInterfaces()[0], "getClob"))
380       throw new SQLException("ResultSet bombed");
381     return new ThrowingClob(it.getClob(i));
382   }
383 
384   /**
385    * {@inheritDoc}
386    * @see java.sql.ResultSet#getClob(java.lang.String)
387    */
388   public Clob getClob(String colName) throws SQLException {
389     if (shouldThrow(this.getClass().getInterfaces()[0], "getClob"))
390       throw new SQLException("ResultSet bombed");
391     return new ThrowingClob(it.getClob(colName));
392   }
393 
394   /**
395    * {@inheritDoc}
396    * @see java.sql.ResultSet#getConcurrency()
397    */
398   public int getConcurrency() throws SQLException {
399     if (shouldThrow(this.getClass().getInterfaces()[0], "getConcurrency"))
400       throw new SQLException("ResultSet bombed");
401     return it.getConcurrency();
402   }
403 
404   /**
405    * {@inheritDoc}
406    * @see java.sql.ResultSet#getCursorName()
407    */
408   public String getCursorName() throws SQLException {
409     if (shouldThrow(this.getClass().getInterfaces()[0], "getCursorName"))
410       throw new SQLException("ResultSet bombed");
411     return it.getCursorName();
412   }
413 
414   /**
415    * {@inheritDoc}
416    * @see java.sql.ResultSet#getDate(int)
417    */
418   public Date getDate(int columnIndex) throws SQLException {
419     if (shouldThrow(this.getClass().getInterfaces()[0], "getDate"))
420       throw new SQLException("ResultSet bombed");
421     return it.getDate(columnIndex);
422   }
423 
424   /**
425    * {@inheritDoc}
426    * @see java.sql.ResultSet#getDate(java.lang.String)
427    */
428   public Date getDate(String columnName) throws SQLException {
429     if (shouldThrow(this.getClass().getInterfaces()[0], "getDate"))
430       throw new SQLException("ResultSet bombed");
431     return it.getDate(columnName);
432   }
433 
434   /**
435    * {@inheritDoc}
436    * @see java.sql.ResultSet#getDate(int, java.util.Calendar)
437    */
438   public Date getDate(int columnIndex, Calendar cal) throws SQLException {
439     if (shouldThrow(this.getClass().getInterfaces()[0], "getDate"))
440       throw new SQLException("ResultSet bombed");
441     return it.getDate(columnIndex, cal);
442   }
443 
444   /**
445    * {@inheritDoc}
446    * @see java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)
447    */
448   public Date getDate(String columnName, Calendar cal) throws SQLException {
449     if (shouldThrow(this.getClass().getInterfaces()[0], "getDate"))
450       throw new SQLException("ResultSet bombed");
451     return it.getDate(columnName, cal);
452   }
453 
454   /**
455    * {@inheritDoc}
456    * @see java.sql.ResultSet#getDouble(int)
457    */
458   public double getDouble(int columnIndex) throws SQLException {
459     if (shouldThrow(this.getClass().getInterfaces()[0], "getDouble"))
460       throw new SQLException("ResultSet bombed");
461     return it.getDouble(columnIndex);
462   }
463 
464   /**
465    * {@inheritDoc}
466    * @see java.sql.ResultSet#getDouble(java.lang.String)
467    */
468   public double getDouble(String columnName) throws SQLException {
469     if (shouldThrow(this.getClass().getInterfaces()[0], "getDouble"))
470       throw new SQLException("ResultSet bombed");
471     return it.getDouble(columnName);
472   }
473 
474   /**
475    * {@inheritDoc}
476    * @see java.sql.ResultSet#getFetchDirection()
477    */
478   public int getFetchDirection() throws SQLException {
479     if (shouldThrow(this.getClass().getInterfaces()[0], "getFetchDirection"))
480       throw new SQLException("ResultSet bombed");
481     return it.getFetchDirection();
482   }
483 
484   /**
485    * {@inheritDoc}
486    * @see java.sql.ResultSet#getFetchSize()
487    */
488   public int getFetchSize() throws SQLException {
489     if (shouldThrow(this.getClass().getInterfaces()[0], "getFetchSize"))
490       throw new SQLException("ResultSet bombed");
491     return it.getFetchSize();
492   }
493 
494   /**
495    * {@inheritDoc}
496    * @see java.sql.ResultSet#getFloat(int)
497    */
498   public float getFloat(int columnIndex) throws SQLException {
499     if (shouldThrow(this.getClass().getInterfaces()[0], "getFloat"))
500       throw new SQLException("ResultSet bombed");
501     return it.getFloat(columnIndex);
502   }
503 
504   /**
505    * {@inheritDoc}
506    * @see java.sql.ResultSet#getFloat(java.lang.String)
507    */
508   public float getFloat(String columnName) throws SQLException {
509     if (shouldThrow(this.getClass().getInterfaces()[0], "getFloat"))
510       throw new SQLException("ResultSet bombed");
511     return it.getFloat(columnName);
512   }
513 
514   /**
515    * {@inheritDoc}
516    * @see java.sql.ResultSet#getInt(int)
517    */
518   public int getInt(int columnIndex) throws SQLException {
519     if (shouldThrow(this.getClass().getInterfaces()[0], "getInt"))
520       throw new SQLException("ResultSet bombed");
521     return it.getInt(columnIndex);
522   }
523 
524   /**
525    * {@inheritDoc}
526    * @see java.sql.ResultSet#getInt(java.lang.String)
527    */
528   public int getInt(String columnName) throws SQLException {
529     if (shouldThrow(this.getClass().getInterfaces()[0], "getInt"))
530       throw new SQLException("ResultSet bombed");
531     return it.getInt(columnName);
532   }
533 
534   /**
535    * {@inheritDoc}
536    * @see java.sql.ResultSet#getLong(int)
537    */
538   public long getLong(int columnIndex) throws SQLException {
539     if (shouldThrow(this.getClass().getInterfaces()[0], "getLong"))
540       throw new SQLException("ResultSet bombed");
541     return it.getLong(columnIndex);
542   }
543 
544   /**
545    * {@inheritDoc}
546    * @see java.sql.ResultSet#getLong(java.lang.String)
547    */
548   public long getLong(String columnName) throws SQLException {
549     if (shouldThrow(this.getClass().getInterfaces()[0], "getLong"))
550       throw new SQLException("ResultSet bombed");
551     return it.getLong(columnName);
552   }
553 
554   /**
555    * {@inheritDoc}
556    * @see java.sql.ResultSet#getMetaData()
557    */
558   public ResultSetMetaData getMetaData() throws SQLException {
559     if (shouldThrow(this.getClass().getInterfaces()[0], "getMetaData"))
560       throw new SQLException("ResultSet bombed");
561     return new ThrowingResultSetMetaData(it.getMetaData());
562   }
563 
564   /**
565    * {@inheritDoc}
566    * @see java.sql.ResultSet#getObject(int)
567    */
568   public Object getObject(int columnIndex) throws SQLException {
569     if (shouldThrow(this.getClass().getInterfaces()[0], "getObject"))
570       throw new SQLException("ResultSet bombed");
571     return it.getObject(columnIndex);
572   }
573 
574   /**
575    * {@inheritDoc}
576    * @see java.sql.ResultSet#getObject(java.lang.String)
577    */
578   public Object getObject(String columnName) throws SQLException {
579     if (shouldThrow(this.getClass().getInterfaces()[0], "getObject"))
580       throw new SQLException("ResultSet bombed");
581     return it.getObject(columnName);
582   }
583 
584   /**
585    * {@inheritDoc}
586    * @see java.sql.ResultSet#getObject(int, java.util.Map)
587    */
588   public Object getObject(int i, Map<String, Class<?>>map) throws SQLException {
589     if (shouldThrow(this.getClass().getInterfaces()[0], "getObject"))
590       throw new SQLException("ResultSet bombed");
591 
592     return it.getObject(i, map);
593   }
594 
595   /**
596    * {@inheritDoc}
597    * @see java.sql.ResultSet#getObject(java.lang.String, java.util.Map)
598    */
599   public Object getObject(String colName, Map<String, Class<?>> map) throws SQLException {
600     if (shouldThrow(this.getClass().getInterfaces()[0], "getObject"))
601       throw new SQLException("ResultSet bombed");
602     return it.getObject(colName, map);
603   }
604 
605   /**
606    * {@inheritDoc}
607    * @see java.sql.ResultSet#getRef(int)
608    */
609   public Ref getRef(int i) throws SQLException {
610     if (shouldThrow(this.getClass().getInterfaces()[0], "getRef"))
611       throw new SQLException("ResultSet bombed");
612     return new ThrowingRef(it.getRef(i));
613   }
614 
615   /**
616    * {@inheritDoc}
617    * @see java.sql.ResultSet#getRef(java.lang.String)
618    */
619   public Ref getRef(String colName) throws SQLException {
620     if (shouldThrow(this.getClass().getInterfaces()[0], "getRef"))
621       throw new SQLException("ResultSet bombed");
622     return new ThrowingRef(it.getRef(colName));
623   }
624 
625   /**
626    * {@inheritDoc}
627    * @see java.sql.ResultSet#getRow()
628    */
629   public int getRow() throws SQLException {
630     if (shouldThrow(this.getClass().getInterfaces()[0], "getRow"))
631       throw new SQLException("ResultSet bombed");
632     return it.getRow();
633   }
634 
635   /**
636    * {@inheritDoc}
637    * @see java.sql.ResultSet#getShort(int)
638    */
639   public short getShort(int columnIndex) throws SQLException {
640     if (shouldThrow(this.getClass().getInterfaces()[0], "getShort"))
641       throw new SQLException("ResultSet bombed");
642     return it.getShort(columnIndex);
643   }
644 
645   /**
646    * {@inheritDoc}
647    * @see java.sql.ResultSet#getShort(java.lang.String)
648    */
649   public short getShort(String columnName) throws SQLException {
650     if (shouldThrow(this.getClass().getInterfaces()[0], "getShort"))
651       throw new SQLException("ResultSet bombed");
652     return it.getShort(columnName);
653   }
654 
655   /**
656    * {@inheritDoc}
657    * @see java.sql.ResultSet#getStatement()
658    */
659   public Statement getStatement() throws SQLException {
660     if (shouldThrow(this.getClass().getInterfaces()[0], "getStatement"))
661       throw new SQLException("ResultSet bombed");
662     return new ThrowingStatement(it.getStatement());
663   }
664 
665   /**
666    * {@inheritDoc}
667    * @see java.sql.ResultSet#getString(int)
668    */
669   public String getString(int columnIndex) throws SQLException {
670     if (shouldThrow(this.getClass().getInterfaces()[0], "getString"))
671       throw new SQLException("ResultSet bombed");
672     return it.getString(columnIndex);
673   }
674 
675   /**
676    * {@inheritDoc}
677    * @see java.sql.ResultSet#getString(java.lang.String)
678    */
679   public String getString(String columnName) throws SQLException {
680     if (shouldThrow(this.getClass().getInterfaces()[0], "getString"))
681       throw new SQLException("ResultSet bombed");
682     return it.getString(columnName);
683   }
684 
685   /**
686    * {@inheritDoc}
687    * @see java.sql.ResultSet#getTime(int)
688    */
689   public Time getTime(int columnIndex) throws SQLException {
690     if (shouldThrow(this.getClass().getInterfaces()[0], "getTime"))
691       throw new SQLException("ResultSet bombed");
692     return it.getTime(columnIndex);
693   }
694 
695   /**
696    * {@inheritDoc}
697    * @see java.sql.ResultSet#getTime(java.lang.String)
698    */
699   public Time getTime(String columnName) throws SQLException {
700     if (shouldThrow(this.getClass().getInterfaces()[0], "getTime"))
701       throw new SQLException("ResultSet bombed");
702     return it.getTime(columnName);
703   }
704 
705   /**
706    * {@inheritDoc}
707    * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
708    */
709   public Time getTime(int columnIndex, Calendar cal) throws SQLException {
710     if (shouldThrow(this.getClass().getInterfaces()[0], "getTime"))
711       throw new SQLException("ResultSet bombed");
712     return it.getTime(columnIndex, cal);
713   }
714 
715   /**
716    * {@inheritDoc}
717    * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
718    */
719   public Time getTime(String columnName, Calendar cal) throws SQLException {
720     if (shouldThrow(this.getClass().getInterfaces()[0], "getTime"))
721       throw new SQLException("ResultSet bombed");
722     return it.getTime(columnName, cal);
723   }
724 
725   /**
726    * {@inheritDoc}
727    * @see java.sql.ResultSet#getTimestamp(int)
728    */
729   public Timestamp getTimestamp(int columnIndex) throws SQLException {
730     if (shouldThrow(this.getClass().getInterfaces()[0], "getTimestamp"))
731       throw new SQLException("ResultSet bombed");
732     return it.getTimestamp(columnIndex);
733   }
734 
735   /**
736    * {@inheritDoc}
737    * @see java.sql.ResultSet#getTimestamp(java.lang.String)
738    */
739   public Timestamp getTimestamp(String columnName) throws SQLException {
740     if (shouldThrow(this.getClass().getInterfaces()[0], "getTimestamp"))
741       throw new SQLException("ResultSet bombed");
742     return it.getTimestamp(columnName);
743   }
744 
745   /**
746    * {@inheritDoc}
747    * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
748    */
749   public Timestamp getTimestamp(int columnIndex, Calendar cal)
750       throws SQLException {
751     if (shouldThrow(this.getClass().getInterfaces()[0], "getTimestamp"))
752       throw new SQLException("ResultSet bombed");
753     return it.getTimestamp(columnIndex, cal);
754   }
755 
756   /**
757    * {@inheritDoc}
758    * @see java.sql.ResultSet#getTimestamp(java.lang.String, java.util.Calendar)
759    */
760   public Timestamp getTimestamp(String columnName, Calendar cal)
761       throws SQLException {
762     if (shouldThrow(this.getClass().getInterfaces()[0], "getTimestamp"))
763       throw new SQLException("ResultSet bombed");
764     return it.getTimestamp(columnName, cal);
765   }
766 
767   /**
768    * {@inheritDoc}
769    * @see java.sql.ResultSet#getType()
770    */
771   public int getType() throws SQLException {
772     if (shouldThrow(this.getClass().getInterfaces()[0], "getType"))
773       throw new SQLException("ResultSet bombed");
774     return it.getType();
775   }
776 
777   /**
778    * {@inheritDoc}
779    * @see java.sql.ResultSet#getURL(int)
780    */
781   public URL getURL(int columnIndex) throws SQLException {
782     if (shouldThrow(this.getClass().getInterfaces()[0], "getURL"))
783       throw new SQLException("ResultSet bombed");
784     return it.getURL(columnIndex);
785   }
786 
787   /**
788    * {@inheritDoc}
789    * @see java.sql.ResultSet#getURL(java.lang.String)
790    */
791   public URL getURL(String columnName) throws SQLException {
792     if (shouldThrow(this.getClass().getInterfaces()[0], "getURL"))
793       throw new SQLException("ResultSet bombed");
794 
795     return it.getURL(columnName);
796   }
797 
798   /**
799    * {@inheritDoc}
800    * @see java.sql.ResultSet#getUnicodeStream(int)
801    */
802   @SuppressWarnings("deprecation")
803   public InputStream getUnicodeStream(int columnIndex) throws SQLException {
804     if (shouldThrow(this.getClass().getInterfaces()[0], "getUnicodeStream"))
805       throw new SQLException("ResultSet bombed");
806     return it.getUnicodeStream(columnIndex);
807   }
808 
809   /**
810    * {@inheritDoc}
811    * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
812    */
813   @SuppressWarnings("deprecation")
814   public InputStream getUnicodeStream(String columnName) throws SQLException {
815     if (shouldThrow(this.getClass().getInterfaces()[0], "getUnicodeStream"))
816       throw new SQLException("ResultSet bombed");
817     return it.getUnicodeStream(columnName);
818   }
819 
820   /**
821    * {@inheritDoc}
822    * @see java.sql.ResultSet#getWarnings()
823    */
824   public SQLWarning getWarnings() throws SQLException {
825     if (shouldThrow(this.getClass().getInterfaces()[0], "getWarnings"))
826       throw new SQLException("ResultSet bombed");
827     return it.getWarnings();
828   }
829 
830   /**
831    * {@inheritDoc}
832    * @see java.sql.ResultSet#insertRow()
833    */
834   public void insertRow() throws SQLException {
835     if (shouldThrow(this.getClass().getInterfaces()[0], "insertRow"))
836       throw new SQLException("ResultSet bombed");
837     it.insertRow();
838   }
839 
840   /**
841    * {@inheritDoc}
842    * @see java.sql.ResultSet#isAfterLast()
843    */
844   public boolean isAfterLast() throws SQLException {
845     if (shouldThrow(this.getClass().getInterfaces()[0], "isAfterLast"))
846       throw new SQLException("ResultSet bombed");
847     return it.isAfterLast();
848   }
849 
850   /**
851    * {@inheritDoc}
852    * @see java.sql.ResultSet#isBeforeFirst()
853    */
854   public boolean isBeforeFirst() throws SQLException {
855     if (shouldThrow(this.getClass().getInterfaces()[0], "isBeforeFirst"))
856       throw new SQLException("ResultSet bombed");
857     return it.isBeforeFirst();
858   }
859 
860   /**
861    * {@inheritDoc}
862    * @see java.sql.ResultSet#isFirst()
863    */
864   public boolean isFirst() throws SQLException {
865     if (shouldThrow(this.getClass().getInterfaces()[0], "isFirst"))
866       throw new SQLException("ResultSet bombed");
867     return it.isFirst();
868   }
869 
870   /**
871    * {@inheritDoc}
872    * @see java.sql.ResultSet#isLast()
873    */
874   public boolean isLast() throws SQLException {
875     if (shouldThrow(this.getClass().getInterfaces()[0], "isLast"))
876       throw new SQLException("ResultSet bombed");
877     return it.isLast();
878   }
879 
880   /**
881    * {@inheritDoc}
882    * @see java.sql.ResultSet#last()
883    */
884   public boolean last() throws SQLException {
885     if (shouldThrow(this.getClass().getInterfaces()[0], "last"))
886       throw new SQLException("ResultSet bombed");
887     return it.last();
888   }
889 
890   /**
891    * {@inheritDoc}
892    * @see java.sql.ResultSet#moveToCurrentRow()
893    */
894   public void moveToCurrentRow() throws SQLException {
895     if (shouldThrow(this.getClass().getInterfaces()[0], "moveToCurrentRow"))
896       throw new SQLException("ResultSet bombed");
897     it.moveToCurrentRow();
898   }
899 
900   /**
901    * {@inheritDoc}
902    * @see java.sql.ResultSet#moveToInsertRow()
903    */
904   public void moveToInsertRow() throws SQLException {
905     if (shouldThrow(this.getClass().getInterfaces()[0], "moveToInsertRow"))
906       throw new SQLException("ResultSet bombed");
907     it.moveToInsertRow();
908   }
909 
910   /**
911    * {@inheritDoc}
912    * @see java.sql.ResultSet#next()
913    */
914   public boolean next() throws SQLException {
915     if (shouldThrow(this.getClass().getInterfaces()[0], "next"))
916       throw new SQLException("ResultSet bombed");
917 
918     return it.next();
919   }
920 
921   /**
922    * {@inheritDoc}
923    * @see java.sql.ResultSet#previous()
924    */
925   public boolean previous() throws SQLException {
926     if (shouldThrow(this.getClass().getInterfaces()[0], "previous"))
927       throw new SQLException("ResultSet bombed");
928     return it.previous();
929   }
930 
931   /**
932    * {@inheritDoc}
933    * @see java.sql.ResultSet#refreshRow()
934    */
935   public void refreshRow() throws SQLException {
936     if (shouldThrow(this.getClass().getInterfaces()[0], "refreshRow"))
937       throw new SQLException("ResultSet bombed");
938     it.refreshRow();
939   }
940 
941   /**
942    * {@inheritDoc}
943    * @see java.sql.ResultSet#relative(int)
944    */
945   public boolean relative(int rows) throws SQLException {
946     if (shouldThrow(this.getClass().getInterfaces()[0], "relative"))
947       throw new SQLException("ResultSet bombed");
948     return it.relative(rows);
949   }
950 
951   /**
952    * {@inheritDoc}
953    * @see java.sql.ResultSet#rowDeleted()
954    */
955   public boolean rowDeleted() throws SQLException {
956     if (shouldThrow(this.getClass().getInterfaces()[0], "rowDeleted"))
957       throw new SQLException("ResultSet bombed");
958     return it.rowDeleted();
959   }
960 
961   /**
962    * {@inheritDoc}
963    * @see java.sql.ResultSet#rowInserted()
964    */
965   public boolean rowInserted() throws SQLException {
966     if (shouldThrow(this.getClass().getInterfaces()[0], "rowInserted"))
967       throw new SQLException("ResultSet bombed");
968     return it.rowInserted();
969   }
970 
971   /**
972    * {@inheritDoc}
973    * @see java.sql.ResultSet#rowUpdated()
974    */
975   public boolean rowUpdated() throws SQLException {
976     if (shouldThrow(this.getClass().getInterfaces()[0], "rowUpdated"))
977       throw new SQLException("ResultSet bombed");
978     return it.rowUpdated();
979   }
980 
981   /**
982    * {@inheritDoc}
983    * @see java.sql.ResultSet#setFetchDirection(int)
984    */
985   public void setFetchDirection(int direction) throws SQLException {
986     if (shouldThrow(this.getClass().getInterfaces()[0], "setFetchDirection"))
987       throw new SQLException("ResultSet bombed");
988     it.setFetchDirection(direction);
989   }
990 
991   /**
992    * {@inheritDoc}
993    * @see java.sql.ResultSet#setFetchSize(int)
994    */
995   public void setFetchSize(int rows) throws SQLException {
996     if (shouldThrow(this.getClass().getInterfaces()[0], "setFetchSize"))
997       throw new SQLException("ResultSet bombed");
998     it.setFetchSize(rows);
999   }
1000 
1001   /**
1002    * {@inheritDoc}
1003    * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
1004    */
1005   public void updateArray(int columnIndex, Array x) throws SQLException {
1006     if (shouldThrow(this.getClass().getInterfaces()[0], "updateArray"))
1007       throw new SQLException("ResultSet bombed");
1008     it.updateArray(columnIndex, x);
1009   }
1010 
1011   /**
1012    * {@inheritDoc}
1013    * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
1014    */
1015   public void updateArray(String columnName, Array x) throws SQLException {
1016     if (shouldThrow(this.getClass().getInterfaces()[0], "updateArray"))
1017       throw new SQLException("ResultSet bombed");
1018     it.updateArray(columnName, x);
1019   }
1020 
1021   /**
1022    * {@inheritDoc}
1023    * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
1024    */
1025   public void updateAsciiStream(int columnIndex, InputStream x, int length)
1026       throws SQLException {
1027     if (shouldThrow(this.getClass().getInterfaces()[0], "updateAsciiStream"))
1028       throw new SQLException("ResultSet bombed");
1029     it.updateAsciiStream(columnIndex, x, length);
1030   }
1031 
1032   /**
1033    * {@inheritDoc}
1034    * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, int)
1035    */
1036   public void updateAsciiStream(String columnName, InputStream x, int length)
1037       throws SQLException {
1038     if (shouldThrow(this.getClass().getInterfaces()[0], "updateAsciiStream"))
1039       throw new SQLException("ResultSet bombed");
1040     it.updateAsciiStream(columnName, x, length);
1041   }
1042 
1043   /**
1044    * {@inheritDoc}
1045    * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
1046    */
1047   public void updateBigDecimal(int columnIndex, BigDecimal x)
1048       throws SQLException {
1049     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBigDecimal"))
1050       throw new SQLException("ResultSet bombed");
1051     it.updateBigDecimal(columnIndex, x);
1052   }
1053 
1054   /**
1055    * {@inheritDoc}
1056    * @see java.sql.ResultSet#updateBigDecimal(java.lang.String, java.math.BigDecimal)
1057    */
1058   public void updateBigDecimal(String columnName, BigDecimal x)
1059       throws SQLException {
1060     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBigDecimal"))
1061       throw new SQLException("ResultSet bombed");
1062     it.updateBigDecimal(columnName, x);
1063   }
1064 
1065   /**
1066    * {@inheritDoc}
1067    * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
1068    */
1069   public void updateBinaryStream(int columnIndex, InputStream x, int length)
1070       throws SQLException {
1071     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBinaryStream"))
1072       throw new SQLException("ResultSet bombed");
1073     it.updateBinaryStream(columnIndex, x, length);
1074   }
1075 
1076   /**
1077    * {@inheritDoc}
1078    * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, int)
1079    */
1080   public void updateBinaryStream(String columnName, InputStream x, int length)
1081       throws SQLException {
1082     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBinaryStream"))
1083       throw new SQLException("ResultSet bombed");
1084     it.updateBinaryStream(columnName, x, length);
1085   }
1086 
1087   /**
1088    * {@inheritDoc}
1089    * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
1090    */
1091   public void updateBlob(int columnIndex, Blob x) throws SQLException {
1092     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBlob"))
1093       throw new SQLException("ResultSet bombed");
1094     it.updateBlob(columnIndex, x);
1095   }
1096 
1097   /**
1098    * {@inheritDoc}
1099    * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
1100    */
1101   public void updateBlob(String columnName, Blob x) throws SQLException {
1102     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBlob"))
1103       throw new SQLException("ResultSet bombed");
1104     it.updateBlob(columnName, x);
1105   }
1106 
1107   /**
1108    * {@inheritDoc}
1109    * @see java.sql.ResultSet#updateBoolean(int, boolean)
1110    */
1111   public void updateBoolean(int columnIndex, boolean x) throws SQLException {
1112     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBoolean"))
1113       throw new SQLException("ResultSet bombed");
1114     it.updateBoolean(columnIndex, x);
1115   }
1116 
1117   /**
1118    * {@inheritDoc}
1119    * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
1120    */
1121   public void updateBoolean(String columnName, boolean x) throws SQLException {
1122     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBoolean"))
1123       throw new SQLException("ResultSet bombed");
1124     it.updateBoolean(columnName, x);
1125   }
1126 
1127   /**
1128    * {@inheritDoc}
1129    * @see java.sql.ResultSet#updateByte(int, byte)
1130    */
1131   public void updateByte(int columnIndex, byte x) throws SQLException {
1132     if (shouldThrow(this.getClass().getInterfaces()[0], "updateByte"))
1133       throw new SQLException("ResultSet bombed");
1134     it.updateByte(columnIndex, x);
1135   }
1136 
1137   /**
1138    * {@inheritDoc}
1139    * @see java.sql.ResultSet#updateByte(java.lang.String, byte)
1140    */
1141   public void updateByte(String columnName, byte x) throws SQLException {
1142     if (shouldThrow(this.getClass().getInterfaces()[0], "updateByte"))
1143       throw new SQLException("ResultSet bombed");
1144     it.updateByte(columnName, x);
1145   }
1146 
1147   /**
1148    * {@inheritDoc}
1149    * @see java.sql.ResultSet#updateBytes(int, byte[])
1150    */
1151   public void updateBytes(int columnIndex, byte[] x) throws SQLException {
1152     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBytes"))
1153       throw new SQLException("ResultSet bombed");
1154     it.updateBytes(columnIndex, x);
1155   }
1156 
1157   /**
1158    * {@inheritDoc}
1159    * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
1160    */
1161   public void updateBytes(String columnName, byte[] x) throws SQLException {
1162     if (shouldThrow(this.getClass().getInterfaces()[0], "updateBytes"))
1163       throw new SQLException("ResultSet bombed");
1164     it.updateBytes(columnName, x);
1165   }
1166 
1167   /**
1168    * {@inheritDoc}
1169    * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
1170    */
1171   public void updateCharacterStream(int columnIndex, Reader x, int length)
1172       throws SQLException {
1173     if (shouldThrow(this.getClass().getInterfaces()[0], "updateCharacterStream"))
1174       throw new SQLException("ResultSet bombed");
1175     it.updateCharacterStream(columnIndex, x, length);
1176   }
1177 
1178   /**
1179    * {@inheritDoc}
1180    * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, int)
1181    */
1182   public void updateCharacterStream(String columnName, Reader reader, int length)
1183       throws SQLException {
1184     if (shouldThrow(this.getClass().getInterfaces()[0], "updateCharacterStream"))
1185       throw new SQLException("ResultSet bombed");
1186     it.updateCharacterStream(columnName, reader, length);
1187   }
1188 
1189   /**
1190    * {@inheritDoc}
1191    * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
1192    */
1193   public void updateClob(int columnIndex, Clob x) throws SQLException {
1194     if (shouldThrow(this.getClass().getInterfaces()[0], "updateClob"))
1195       throw new SQLException("ResultSet bombed");
1196     it.updateClob(columnIndex, x);
1197   }
1198 
1199   /**
1200    * {@inheritDoc}
1201    * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
1202    */
1203   public void updateClob(String columnName, Clob x) throws SQLException {
1204     if (shouldThrow(this.getClass().getInterfaces()[0], "updateClob"))
1205       throw new SQLException("ResultSet bombed");
1206     it.updateClob(columnName, x);
1207   }
1208 
1209   /**
1210    * {@inheritDoc}
1211    * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
1212    */
1213   public void updateDate(int columnIndex, Date x) throws SQLException {
1214     if (shouldThrow(this.getClass().getInterfaces()[0], "updateDate"))
1215       throw new SQLException("ResultSet bombed");
1216     it.updateDate(columnIndex, x);
1217   }
1218 
1219   /**
1220    * {@inheritDoc}
1221    * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
1222    */
1223   public void updateDate(String columnName, Date x) throws SQLException {
1224     if (shouldThrow(this.getClass().getInterfaces()[0], "updateDate"))
1225       throw new SQLException("ResultSet bombed");
1226     it.updateDate(columnName, x);
1227   }
1228 
1229   /**
1230    * {@inheritDoc}
1231    * @see java.sql.ResultSet#updateDouble(int, double)
1232    */
1233   public void updateDouble(int columnIndex, double x) throws SQLException {
1234     if (shouldThrow(this.getClass().getInterfaces()[0], "updateDouble"))
1235       throw new SQLException("ResultSet bombed");
1236     it.updateDouble(columnIndex, x);
1237   }
1238 
1239   /**
1240    * {@inheritDoc}
1241    * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
1242    */
1243   public void updateDouble(String columnName, double x) throws SQLException {
1244     if (shouldThrow(this.getClass().getInterfaces()[0], "updateDouble"))
1245       throw new SQLException("ResultSet bombed");
1246     it.updateDouble(columnName, x);
1247   }
1248 
1249   /**
1250    * {@inheritDoc}
1251    * @see java.sql.ResultSet#updateFloat(int, float)
1252    */
1253   public void updateFloat(int columnIndex, float x) throws SQLException {
1254     if (shouldThrow(this.getClass().getInterfaces()[0], "updateFloat"))
1255       throw new SQLException("ResultSet bombed");
1256     it.updateFloat(columnIndex, x);
1257   }
1258 
1259   /**
1260    * {@inheritDoc}
1261    * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
1262    */
1263   public void updateFloat(String columnName, float x) throws SQLException {
1264     if (shouldThrow(this.getClass().getInterfaces()[0], "updateFloat"))
1265       throw new SQLException("ResultSet bombed");
1266     it.updateFloat(columnName, x);
1267   }
1268 
1269   /**
1270    * {@inheritDoc}
1271    * @see java.sql.ResultSet#updateInt(int, int)
1272    */
1273   public void updateInt(int columnIndex, int x) throws SQLException {
1274     if (shouldThrow(this.getClass().getInterfaces()[0], "updateInt"))
1275       throw new SQLException("ResultSet bombed");
1276     it.updateInt(columnIndex, x);
1277   }
1278 
1279   /**
1280    * {@inheritDoc}
1281    * @see java.sql.ResultSet#updateInt(java.lang.String, int)
1282    */
1283   public void updateInt(String columnName, int x) throws SQLException {
1284     if (shouldThrow(this.getClass().getInterfaces()[0], "updateInt"))
1285       throw new SQLException("ResultSet bombed");
1286     it.updateInt(columnName, x);
1287   }
1288 
1289   /**
1290    * {@inheritDoc}
1291    * @see java.sql.ResultSet#updateLong(int, long)
1292    */
1293   public void updateLong(int columnIndex, long x) throws SQLException {
1294     if (shouldThrow(this.getClass().getInterfaces()[0], "updateLong"))
1295       throw new SQLException("ResultSet bombed");
1296     it.updateLong(columnIndex, x);
1297   }
1298 
1299   /**
1300    * {@inheritDoc}
1301    * @see java.sql.ResultSet#updateLong(java.lang.String, long)
1302    */
1303   public void updateLong(String columnName, long x) throws SQLException {
1304     if (shouldThrow(this.getClass().getInterfaces()[0], "updateLong"))
1305       throw new SQLException("ResultSet bombed");
1306     it.updateLong(columnName, x);
1307   }
1308 
1309   /**
1310    * {@inheritDoc}
1311    * @see java.sql.ResultSet#updateNull(int)
1312    */
1313   public void updateNull(int columnIndex) throws SQLException {
1314     if (shouldThrow(this.getClass().getInterfaces()[0], "updateNull"))
1315       throw new SQLException("ResultSet bombed");
1316     it.updateNull(columnIndex);
1317   }
1318 
1319   /**
1320    * {@inheritDoc}
1321    * @see java.sql.ResultSet#updateNull(java.lang.String)
1322    */
1323   public void updateNull(String columnName) throws SQLException {
1324     if (shouldThrow(this.getClass().getInterfaces()[0], "updateNull"))
1325       throw new SQLException("ResultSet bombed");
1326     it.updateNull(columnName);
1327   }
1328 
1329   /**
1330    * {@inheritDoc}
1331    * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
1332    */
1333   public void updateObject(int columnIndex, Object x) throws SQLException {
1334     if (shouldThrow(this.getClass().getInterfaces()[0], "updateObject"))
1335       throw new SQLException("ResultSet bombed");
1336     it.updateObject(columnIndex, x);
1337   }
1338 
1339   /**
1340    * {@inheritDoc}
1341    * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
1342    */
1343   public void updateObject(String columnName, Object x) throws SQLException {
1344     if (shouldThrow(this.getClass().getInterfaces()[0], "updateObject"))
1345       throw new SQLException("ResultSet bombed");
1346     it.updateObject(columnName, x);
1347   }
1348 
1349   /**
1350    * {@inheritDoc}
1351    * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
1352    */
1353   public void updateObject(int columnIndex, Object x, int scale)
1354       throws SQLException {
1355     if (shouldThrow(this.getClass().getInterfaces()[0], "updateObject"))
1356       throw new SQLException("ResultSet bombed");
1357     it.updateObject(columnIndex, x, scale);
1358   }
1359 
1360   /**
1361    * {@inheritDoc}
1362    * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object, int)
1363    */
1364   public void updateObject(String columnName, Object x, int scale)
1365       throws SQLException {
1366     if (shouldThrow(this.getClass().getInterfaces()[0], "updateObject"))
1367       throw new SQLException("ResultSet bombed");
1368     it.updateObject(columnName, x, scale);
1369   }
1370 
1371   /**
1372    * {@inheritDoc}
1373    * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
1374    */
1375   public void updateRef(int columnIndex, Ref x) throws SQLException {
1376     if (shouldThrow(this.getClass().getInterfaces()[0], "updateRef"))
1377       throw new SQLException("ResultSet bombed");
1378     it.updateRef(columnIndex, x);
1379   }
1380 
1381   /**
1382    * {@inheritDoc}
1383    * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
1384    */
1385   public void updateRef(String columnName, Ref x) throws SQLException {
1386     if (shouldThrow(this.getClass().getInterfaces()[0], "updateRef"))
1387       throw new SQLException("ResultSet bombed");
1388     it.updateRef(columnName, x);
1389   }
1390 
1391   /**
1392    * {@inheritDoc}
1393    * @see java.sql.ResultSet#updateRow()
1394    */
1395   public void updateRow() throws SQLException {
1396     if (shouldThrow(this.getClass().getInterfaces()[0], "updateRow"))
1397       throw new SQLException("ResultSet bombed");
1398     it.updateRow();
1399   }
1400 
1401   /**
1402    * {@inheritDoc}
1403    * @see java.sql.ResultSet#updateShort(int, short)
1404    */
1405   public void updateShort(int columnIndex, short x) throws SQLException {
1406     if (shouldThrow(this.getClass().getInterfaces()[0], "updateShort"))
1407       throw new SQLException("ResultSet bombed");
1408     it.updateShort(columnIndex, x);
1409   }
1410 
1411   /**
1412    * {@inheritDoc}
1413    * @see java.sql.ResultSet#updateShort(java.lang.String, short)
1414    */
1415   public void updateShort(String columnName, short x) throws SQLException {
1416     if (shouldThrow(this.getClass().getInterfaces()[0], "updateShort"))
1417       throw new SQLException("ResultSet bombed");
1418     it.updateShort(columnName, x);
1419   }
1420 
1421   /**
1422    * {@inheritDoc}
1423    * @see java.sql.ResultSet#updateString(int, java.lang.String)
1424    */
1425   public void updateString(int columnIndex, String x) throws SQLException {
1426     if (shouldThrow(this.getClass().getInterfaces()[0], "updateString"))
1427       throw new SQLException("ResultSet bombed");
1428     it.updateString(columnIndex, x);
1429   }
1430 
1431   /**
1432    * {@inheritDoc}
1433    * @see java.sql.ResultSet#updateString(java.lang.String, java.lang.String)
1434    */
1435   public void updateString(String columnName, String x) throws SQLException {
1436     if (shouldThrow(this.getClass().getInterfaces()[0], "updateString"))
1437       throw new SQLException("ResultSet bombed");
1438     it.updateString(columnName, x);
1439   }
1440 
1441   /**
1442    * {@inheritDoc}
1443    * @see java.sql.ResultSet#updateTime(int, java.sql.Time)
1444    */
1445   public void updateTime(int columnIndex, Time x) throws SQLException {
1446     if (shouldThrow(this.getClass().getInterfaces()[0], "updateTime"))
1447       throw new SQLException("ResultSet bombed");
1448     it.updateTime(columnIndex, x);
1449   }
1450 
1451   /**
1452    * {@inheritDoc}
1453    * @see java.sql.ResultSet#updateTime(java.lang.String, java.sql.Time)
1454    */
1455   public void updateTime(String columnName, Time x) throws SQLException {
1456     if (shouldThrow(this.getClass().getInterfaces()[0], "updateTime"))
1457       throw new SQLException("ResultSet bombed");
1458     it.updateTime(columnName, x);
1459   }
1460 
1461   /**
1462    * {@inheritDoc}
1463    * @see java.sql.ResultSet#updateTimestamp(int, java.sql.Timestamp)
1464    */
1465   public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
1466     if (shouldThrow(this.getClass().getInterfaces()[0], "updateTimestamp"))
1467       throw new SQLException("ResultSet bombed");
1468     it.updateTimestamp(columnIndex, x);
1469   }
1470 
1471   /**
1472    * {@inheritDoc}
1473    * @see java.sql.ResultSet#updateTimestamp(java.lang.String, java.sql.Timestamp)
1474    */
1475   public void updateTimestamp(String columnName, Timestamp x)
1476       throws SQLException {
1477     if (shouldThrow(this.getClass().getInterfaces()[0], "updateTimestamp"))
1478       throw new SQLException("ResultSet bombed");
1479     it.updateTimestamp(columnName, x);
1480   }
1481 
1482   /**
1483    * {@inheritDoc}
1484    * @see java.sql.ResultSet#wasNull()
1485    */
1486   public boolean wasNull() throws SQLException {
1487     if (shouldThrow(this.getClass().getInterfaces()[0], "wasNull"))
1488       throw new SQLException("ResultSet bombed");
1489     return it.wasNull();
1490   }
1491 
1492 
1493   
1494 }