001/*
002 * ============================================================================
003 * Copyright © 2002-2022 by Thomas Thrien.
004 * All Rights Reserved.
005 * ============================================================================
006 *
007 * Licensed to the public under the agreements of the GNU Lesser General Public
008 * License, version 3.0 (the "License"). You may obtain a copy of the License at
009 *
010 *      http://www.gnu.org/licenses/lgpl.html
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
014 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
015 * License for the specific language governing permissions and limitations
016 * under the License.
017 */
018
019package org.tquadrat.foundation.sql.internal;
020
021import static org.apiguardian.api.API.Status.INTERNAL;
022import static org.tquadrat.foundation.lang.Objects.requireNonNullArgument;
023
024import java.io.InputStream;
025import java.io.Reader;
026import java.math.BigDecimal;
027import java.net.URL;
028import java.sql.Array;
029import java.sql.Blob;
030import java.sql.Clob;
031import java.sql.Date;
032import java.sql.NClob;
033import java.sql.Ref;
034import java.sql.ResultSet;
035import java.sql.ResultSetMetaData;
036import java.sql.RowId;
037import java.sql.SQLException;
038import java.sql.SQLType;
039import java.sql.SQLWarning;
040import java.sql.SQLXML;
041import java.sql.Statement;
042import java.sql.Time;
043import java.sql.Timestamp;
044import java.util.Calendar;
045import java.util.Map;
046
047import org.apiguardian.api.API;
048import org.tquadrat.foundation.annotation.ClassVersion;
049
050/**
051 *  <p>{@summary A wrapper for a result set that restricts the call to some
052 *  methods.}</p>
053 *  <p>The operations that would move the cursor will throw an
054 *  {@link UnsupportedOperationException}:</p>
055 *  <ul>
056 *      <li>{@link #absolute(int)}</li>
057 *      <li>{@link #afterLast()}</li>
058 *      <li>{@link #beforeFirst()}</li>
059 *      <li>{@link #first()}</li>
060 *      <li>{@link #last()}</li>
061 *      <li>{@link #moveToCurrentRow()}</li>
062 *      <li>{@link #moveToInsertRow()}</li>
063 *      <li>{@link #next()}</li>
064 *      <li>{@link #previous()}</li>
065 *      <li>{@link #relative(int)}</li>
066 *  </ul>
067 *  <p>as well as the following methods:</p>
068 *  <ul>
069 *      <li>{@link #close()}</li>
070 *      <li>{@link #deleteRow()}</li>
071 *      <li>{@link #insertRow()}</li>
072 *      <li>{@link #setFetchDirection(int)}</li>
073 *      <li>{@link #setFetchSize(int)}</li>
074 *  </ul>
075 *
076 *  @extauthor Thomas Thrien - thomas.thrien@tquadrat.org
077 *  @version $Id: ResultSetWrapper.java 1020 2022-02-27 21:26:03Z tquadrat $
078 *  @since 0.0.1
079 *
080 *  @UMLGraph.link
081 */
082@SuppressWarnings( "OverlyComplexClass" )
083@ClassVersion( sourceVersion = "$Id: ResultSetWrapper.java 1020 2022-02-27 21:26:03Z tquadrat $" )
084@API( status = INTERNAL, since = "0.0.1" )
085public abstract class ResultSetWrapper implements ResultSet
086{
087        /*------------*\
088    ====** Attributes **=======================================================
089        \*------------*/
090    /**
091     *  The wrapped
092     *  {@link ResultSet}
093     *  instance.
094     */
095    private final ResultSet m_Instance;
096
097        /*--------------*\
098    ====** Constructors **=====================================================
099        \*--------------*/
100    /**
101     *  Creates a new {@code ResultSetWrapper} instance.
102     *
103     *  @param  instance    The wrapped instance.
104     */
105    protected ResultSetWrapper( final ResultSet instance )
106    {
107        m_Instance = requireNonNullArgument( instance, "instance" );
108    }   //  ResultSetWrapper()
109
110        /*---------*\
111    ====** Methods **==========================================================
112        \*---------*/
113    /**
114     *  {@inheritDoc}
115     */
116    @Override
117    public final boolean absolute( final int row ) throws SQLException
118    {
119        throw new UnsupportedOperationException( "absolute()" );
120    }   //  absolute()
121
122    /**
123     *  {@inheritDoc}
124     */
125    @Override
126    public final void afterLast() throws SQLException
127    {
128        throw new UnsupportedOperationException( "afterLast()" );
129    }   //  afterLast()
130
131    /**
132     *  {@inheritDoc}
133     */
134    @Override
135    public final void beforeFirst() throws SQLException
136    {
137        throw new UnsupportedOperationException( "beforeFirst()" );
138    }   //  beforeFirst()
139
140    /**
141     *  {@inheritDoc}
142     */
143    @Override
144    public final void cancelRowUpdates() throws SQLException { m_Instance.cancelRowUpdates(); }
145
146    /**
147     *  {@inheritDoc}
148     */
149    @Override
150    public final void clearWarnings() throws SQLException { m_Instance.clearWarnings(); }
151
152    /**
153     *  {@inheritDoc}
154     */
155    @Override
156    public final void close() throws SQLException
157    {
158        throw new UnsupportedOperationException( "close()" );
159    }   //  close()
160
161    /**
162     *  {@inheritDoc}
163     */
164    @Override
165    public final void deleteRow() throws SQLException
166    {
167        throw new UnsupportedOperationException( "deleteRow()" );
168    }   //  deleteRow()
169
170    /**
171     *  {@inheritDoc}
172     */
173    @Override
174    public final int findColumn( final String columnLabel ) throws SQLException { return m_Instance.findColumn( columnLabel ); }
175
176    /**
177     *  {@inheritDoc}
178     */
179    @Override
180    public final boolean first() throws SQLException
181    {
182        throw new UnsupportedOperationException( "first()" );
183    }   //  first()
184
185    /**
186     *  {@inheritDoc}
187     */
188    @Override
189    public final Array getArray( final int columnIndex ) throws SQLException { return m_Instance.getArray( columnIndex ); }
190
191    /**
192     *  {@inheritDoc}
193     */
194    @Override
195    public final Array getArray( final String columnLabel ) throws SQLException { return m_Instance.getArray( columnLabel ); }
196
197    /**
198     *  {@inheritDoc}
199     */
200    @Override
201    public final InputStream getAsciiStream( final int columnIndex ) throws SQLException { return m_Instance.getAsciiStream( columnIndex ); }
202
203    /**
204     *  {@inheritDoc}
205     */
206    @Override
207    public final InputStream getAsciiStream( final String columnLabel ) throws SQLException { return m_Instance.getAsciiStream( columnLabel ); }
208
209    /**
210     *  {@inheritDoc}
211     */
212    @Override
213    public final BigDecimal getBigDecimal( final int columnIndex ) throws SQLException { return m_Instance.getBigDecimal( columnIndex ); }
214
215    /**
216     *  {@inheritDoc}
217     */
218    @Deprecated
219    @Override
220    public final BigDecimal getBigDecimal( final int columnIndex, final int scale ) throws SQLException { return m_Instance.getBigDecimal( columnIndex, scale ); }
221
222    /**
223     *  {@inheritDoc}
224     */
225    @Override
226    public final BigDecimal getBigDecimal( final String columnLabel ) throws SQLException { return m_Instance.getBigDecimal( columnLabel ); }
227
228    /**
229     *  {@inheritDoc}
230     */
231    @Deprecated
232    @Override
233    public final BigDecimal getBigDecimal( final String columnLabel, final int scale ) throws SQLException { return m_Instance.getBigDecimal( columnLabel, scale ); }
234
235    /**
236     *  {@inheritDoc}
237     */
238    @Override
239    public final InputStream getBinaryStream( final int columnIndex ) throws SQLException { return m_Instance.getBinaryStream( columnIndex ); }
240
241    /**
242     *  {@inheritDoc}
243     */
244    @Override
245    public final InputStream getBinaryStream( final String columnLabel ) throws SQLException { return m_Instance.getBinaryStream( columnLabel ); }
246
247    /**
248     *  {@inheritDoc}
249     */
250    @Override
251    public final Blob getBlob( final int columnIndex ) throws SQLException { return m_Instance.getBlob( columnIndex ); }
252
253    /**
254     *  {@inheritDoc}
255     */
256    @Override
257    public final Blob getBlob( final String columnLabel ) throws SQLException { return m_Instance.getBlob( columnLabel ); }
258
259    /**
260     *  {@inheritDoc}
261     */
262    @Override
263    public final boolean getBoolean( final int columnIndex ) throws SQLException { return m_Instance.getBoolean( columnIndex ); }
264
265    /**
266     *  {@inheritDoc}
267     */
268    @Override
269    public final boolean getBoolean( final String columnLabel ) throws SQLException { return m_Instance.getBoolean( columnLabel ); }
270
271    /**
272     *  {@inheritDoc}
273     */
274    @Override
275    public final byte getByte( final int columnIndex ) throws SQLException { return m_Instance.getByte( columnIndex ); }
276
277    /**
278     *  {@inheritDoc}
279     */
280    @Override
281    public final byte getByte( final String columnLabel ) throws SQLException { return m_Instance.getByte( columnLabel ); }
282
283    /**
284     *  {@inheritDoc}
285     */
286    @Override
287    public final byte [] getBytes( final int columnIndex ) throws SQLException { return m_Instance.getBytes( columnIndex ); }
288
289    /**
290     *  {@inheritDoc}
291     */
292    @Override
293    public final byte [] getBytes( final String columnLabel ) throws SQLException { return m_Instance.getBytes( columnLabel ); }
294
295    /**
296     *  {@inheritDoc}
297     */
298    @Override
299    public final Reader getCharacterStream( final int columnIndex ) throws SQLException { return m_Instance.getCharacterStream( columnIndex ); }
300
301    /**
302     *  {@inheritDoc}
303     */
304    @Override
305    public final Reader getCharacterStream( final String columnLabel ) throws SQLException { return m_Instance.getCharacterStream( columnLabel ); }
306
307    /**
308     *  {@inheritDoc}
309     */
310    @Override
311    public final Clob getClob( final int columnIndex ) throws SQLException { return m_Instance.getClob( columnIndex ); }
312
313    /**
314     *  {@inheritDoc}
315     */
316    @Override
317    public final Clob getClob( final String columnLabel ) throws SQLException { return m_Instance.getClob( columnLabel ); }
318
319    /**
320     *  {@inheritDoc}
321     */
322    @Override
323    public final int getConcurrency() throws SQLException { return m_Instance.getConcurrency(); }
324
325    /**
326     *  {@inheritDoc}
327     */
328    @Override
329    public final String getCursorName() throws SQLException { return m_Instance.getCursorName(); }
330
331    /**
332     *  {@inheritDoc}
333     */
334    @Override
335    public final Date getDate( final int columnIndex ) throws SQLException { return m_Instance.getDate( columnIndex ); }
336
337    /**
338     *  {@inheritDoc}
339     */
340    @Override
341    public final Date getDate( final int columnIndex, final Calendar cal ) throws SQLException { return m_Instance.getDate( columnIndex, cal ); }
342
343    /**
344     *  {@inheritDoc}
345     */
346    @Override
347    public final Date getDate( final String columnLabel ) throws SQLException { return m_Instance.getDate( columnLabel ); }
348
349    /**
350     *  {@inheritDoc}
351     */
352    @Override
353    public final Date getDate( final String columnLabel, final Calendar cal ) throws SQLException { return m_Instance.getDate( columnLabel, cal ); }
354
355    /**
356     *  {@inheritDoc}
357     */
358    @Override
359    public final double getDouble( final int columnIndex ) throws SQLException { return m_Instance.getDouble( columnIndex ); }
360
361    /**
362     *  {@inheritDoc}
363     */
364    @Override
365    public final double getDouble( final String columnLabel ) throws SQLException { return m_Instance.getDouble( columnLabel ); }
366
367    /**
368     *  {@inheritDoc}
369     */
370    @Override
371    public final int getFetchDirection() throws SQLException { return m_Instance.getFetchDirection(); }
372
373    /**
374     *  {@inheritDoc}
375     */
376    @Override
377    public final int getFetchSize() throws SQLException { return m_Instance.getFetchSize(); }
378
379    /**
380     *  {@inheritDoc}
381     */
382    @Override
383    public final float getFloat( final int columnIndex ) throws SQLException { return m_Instance.getFloat( columnIndex ); }
384
385    /**
386     *  {@inheritDoc}
387     */
388    @Override
389    public final float getFloat( final String columnLabel ) throws SQLException { return m_Instance.getFloat( columnLabel ); }
390
391    /**
392     *  {@inheritDoc}
393     */
394    @Override
395    public final int getHoldability() throws SQLException { return m_Instance.getHoldability(); }
396
397    /**
398     *  {@inheritDoc}
399     */
400    @Override
401    public final int getInt( final int columnIndex ) throws SQLException { return m_Instance.getInt( columnIndex ); }
402
403    /**
404     *  {@inheritDoc}
405     */
406    @Override
407    public final int getInt( final String columnLabel ) throws SQLException { return m_Instance.getInt( columnLabel ); }
408
409    /**
410     *  {@inheritDoc}
411     */
412    @Override
413    public final long getLong( final int columnIndex ) throws SQLException { return m_Instance.getLong( columnIndex ); }
414
415    /**
416     *  {@inheritDoc}
417     */
418    @Override
419    public final long getLong( final String columnLabel ) throws SQLException { return m_Instance.getLong( columnLabel ); }
420
421    /**
422     *  {@inheritDoc}
423     */
424    @Override
425    public final ResultSetMetaData getMetaData() throws SQLException { return m_Instance.getMetaData(); }
426
427    /**
428     *  {@inheritDoc}
429     */
430    @Override
431    public final Reader getNCharacterStream( final int columnIndex ) throws SQLException { return m_Instance.getNCharacterStream( columnIndex ); }
432
433    /**
434     *  {@inheritDoc}
435     */
436    @Override
437    public final Reader getNCharacterStream( final String columnLabel ) throws SQLException { return m_Instance.getNCharacterStream( columnLabel ); }
438
439    /**
440     *  {@inheritDoc}
441     */
442    @Override
443    public final NClob getNClob( final int columnIndex ) throws SQLException { return m_Instance.getNClob( columnIndex ); }
444
445    /**
446     *  {@inheritDoc}
447     */
448    @Override
449    public final NClob getNClob( final String columnLabel ) throws SQLException { return m_Instance.getNClob( columnLabel ); }
450
451    /**
452     *  {@inheritDoc}
453     */
454    @Override
455    public final String getNString( final int columnIndex ) throws SQLException { return m_Instance.getNString( columnIndex ); }
456
457    /**
458     *  {@inheritDoc}
459     */
460    @Override
461    public final String getNString( final String columnLabel ) throws SQLException { return m_Instance.getNString( columnLabel ); }
462
463    /**
464     *  {@inheritDoc}
465     */
466    @Override
467    public final Object getObject( final int columnIndex ) throws SQLException { return m_Instance.getObject( columnIndex ); }
468
469    /**
470     *  {@inheritDoc}
471     */
472    @Override
473    public final <T> T getObject( final int columnIndex, final Class<T> type ) throws SQLException { return m_Instance.getObject( columnIndex, type ); }
474
475    /**
476     *  {@inheritDoc}
477     */
478    @Override
479    public final Object getObject( final int columnIndex, final Map<String,Class<?>> map ) throws SQLException { return m_Instance.getObject( columnIndex, map ); }
480
481    /**
482     *  {@inheritDoc}
483     */
484    @Override
485    public final Object getObject( final String columnLabel ) throws SQLException { return m_Instance.getObject( columnLabel ); }
486
487    /**
488     *  {@inheritDoc}
489     */
490    @Override
491    public final <T> T getObject( final String columnLabel, final Class<T> type ) throws SQLException { return m_Instance.getObject( columnLabel, type ); }
492
493    /**
494     *  {@inheritDoc}
495     */
496    @Override
497    public final Object getObject( final String columnLabel, final Map<String,Class<?>> map ) throws SQLException { return m_Instance.getObject( columnLabel, map ); }
498
499    /**
500     *  {@inheritDoc}
501     */
502    @Override
503    public final Ref getRef( final int columnIndex ) throws SQLException { return m_Instance.getRef( columnIndex ); }
504
505    /**
506     *  {@inheritDoc}
507     */
508    @Override
509    public final Ref getRef( final String columnLabel ) throws SQLException { return m_Instance.getRef( columnLabel ); }
510
511    /**
512     *  {@inheritDoc}
513     */
514    @Override
515    public final int getRow() throws SQLException { return m_Instance.getRow(); }
516
517    /**
518     *  {@inheritDoc}
519     */
520    @Override
521    public final RowId getRowId( final int columnIndex ) throws SQLException { return m_Instance.getRowId( columnIndex ); }
522
523    /**
524     *  {@inheritDoc}
525     */
526    @Override
527    public final RowId getRowId( final String columnLabel ) throws SQLException { return m_Instance.getRowId( columnLabel ); }
528
529    /**
530     *  {@inheritDoc}
531     */
532    @Override
533    public final short getShort( final int columnIndex ) throws SQLException { return m_Instance.getShort( columnIndex ); }
534
535    /**
536     *  {@inheritDoc}
537     */
538    @Override
539    public final short getShort( final String columnLabel ) throws SQLException { return m_Instance.getShort( columnLabel ); }
540
541    /**
542     *  {@inheritDoc}
543     */
544    @Override
545    public final SQLXML getSQLXML( final int columnIndex ) throws SQLException { return m_Instance.getSQLXML( columnIndex ); }
546
547    /**
548     *  {@inheritDoc}
549     */
550    @Override
551    public final SQLXML getSQLXML( final String columnLabel ) throws SQLException { return m_Instance.getSQLXML( columnLabel ); }
552
553    /**
554     *  {@inheritDoc}
555     */
556    @Override
557    public final Statement getStatement() throws SQLException { return m_Instance.getStatement(); }
558
559    /**
560     *  {@inheritDoc}
561     */
562    @Override
563    public final String getString( final int columnIndex ) throws SQLException { return m_Instance.getString( columnIndex ); }
564
565    /**
566     *  {@inheritDoc}
567     */
568    @Override
569    public final String getString( final String columnLabel ) throws SQLException { return m_Instance.getString( columnLabel ); }
570
571    /**
572     *  {@inheritDoc}
573     */
574    @Override
575    public final Time getTime( final int columnIndex ) throws SQLException { return m_Instance.getTime( columnIndex ); }
576
577    /**
578     *  {@inheritDoc}
579     */
580    @Override
581    public final Time getTime( final int columnIndex, final Calendar cal ) throws SQLException { return m_Instance.getTime( columnIndex, cal ); }
582
583    /**
584     *  {@inheritDoc}
585     */
586    @Override
587    public final Time getTime( final String columnLabel ) throws SQLException { return m_Instance.getTime( columnLabel ); }
588
589    /**
590     *  {@inheritDoc}
591     */
592    @Override
593    public final Time getTime( final String columnLabel, final Calendar cal ) throws SQLException { return m_Instance.getTime( columnLabel, cal ); }
594
595    /**
596     *  {@inheritDoc}
597     */
598    @Override
599    public final Timestamp getTimestamp( final int columnIndex ) throws SQLException { return m_Instance.getTimestamp( columnIndex ); }
600
601    /**
602     *  {@inheritDoc}
603     */
604    @Override
605    public final Timestamp getTimestamp( final int columnIndex, final Calendar cal ) throws SQLException { return m_Instance.getTimestamp( columnIndex, cal ); }
606
607    /**
608     *  {@inheritDoc}
609     */
610    @Override
611    public final Timestamp getTimestamp( final String columnLabel ) throws SQLException { return m_Instance.getTimestamp( columnLabel ); }
612
613    /**
614     *  {@inheritDoc}
615     */
616    @Override
617    public final Timestamp getTimestamp( final String columnLabel, final Calendar cal ) throws SQLException { return m_Instance.getTimestamp( columnLabel, cal ); }
618
619    /**
620     *  {@inheritDoc}
621     */
622    @Override
623    public final int getType() throws SQLException { return m_Instance.getType(); }
624
625    /**
626     *  {@inheritDoc}
627     */
628    @Deprecated
629    @Override
630    public final InputStream getUnicodeStream( final int columnIndex ) throws SQLException { return m_Instance.getUnicodeStream( columnIndex ); }
631
632    /**
633     *  {@inheritDoc}
634     */
635    @Deprecated
636    @Override
637    public final InputStream getUnicodeStream( final String columnLabel ) throws SQLException { return m_Instance.getUnicodeStream( columnLabel ); }
638
639    /**
640     *  {@inheritDoc}
641     */
642    @Override
643    public final URL getURL( final int columnIndex ) throws SQLException { return m_Instance.getURL( columnIndex ); }
644
645    /**
646     *  {@inheritDoc}
647     */
648    @Override
649    public final URL getURL( final String columnLabel ) throws SQLException { return m_Instance.getURL( columnLabel ); }
650
651    /**
652     *  {@inheritDoc}
653     */
654    @Override
655    public final SQLWarning getWarnings() throws SQLException { return m_Instance.getWarnings(); }
656
657    /**
658     *  {@inheritDoc}
659     */
660    @Override
661    public final void insertRow() throws SQLException
662    {
663        throw new UnsupportedOperationException( "insertRow()" );
664    }   //  insertRow()
665
666    /**
667     *  {@inheritDoc}
668     */
669    @Override
670    public final boolean isAfterLast() throws SQLException { return m_Instance.isAfterLast(); }
671
672    /**
673     *  {@inheritDoc}
674     */
675    @Override
676    public final boolean isBeforeFirst() throws SQLException { return m_Instance.isBeforeFirst(); }
677
678    /**
679     *  {@inheritDoc}
680     */
681    @Override
682    public final boolean isClosed() throws SQLException { return m_Instance.isClosed(); }
683
684    /**
685     *  {@inheritDoc}
686     */
687    @Override
688    public final boolean isFirst() throws SQLException { return m_Instance.isFirst(); }
689
690    /**
691     *  {@inheritDoc}
692     */
693    @Override
694    public final boolean isLast() throws SQLException { return m_Instance.isLast(); }
695
696    /**
697     *  {@inheritDoc}
698     */
699    @Override
700    public final boolean isWrapperFor( final Class<?> iface ) throws SQLException { return m_Instance.isWrapperFor( iface ); }
701
702    /**
703     *  {@inheritDoc}
704     */
705    @Override
706    public final boolean last() throws SQLException
707    {
708        throw new UnsupportedOperationException( "last()" );
709    }   //  last()
710
711    /**
712     *  {@inheritDoc}
713     */
714    @Override
715    public final void moveToCurrentRow() throws SQLException
716    {
717        throw new UnsupportedOperationException( "moveToCurrentRow()" );
718    }   //  moveToCurrentRow()
719
720    /**
721     *  {@inheritDoc}
722     */
723    @Override
724    public final void moveToInsertRow() throws SQLException
725    {
726        throw new UnsupportedOperationException( "moveToInsertRow()" );
727    }   //  moveToInsertRow()
728
729    /**
730     *  {@inheritDoc}
731     */
732    @Override
733    public final boolean next() throws SQLException
734    {
735        throw new UnsupportedOperationException( "next()" );
736    }   //  next()
737
738    /**
739     *  {@inheritDoc}
740     */
741    @Override
742    public final boolean previous() throws SQLException
743    {
744        throw new UnsupportedOperationException( "previous()" );
745    }   //  previous()
746
747    /**
748     *  {@inheritDoc}
749     */
750    @Override
751    public final void refreshRow() throws SQLException { m_Instance.refreshRow(); }
752
753    /**
754     *  {@inheritDoc}
755     */
756    @Override
757    public final boolean relative( final int rows ) throws SQLException
758    {
759        throw new UnsupportedOperationException( "relative()" );
760    }   //  relative()
761
762    /**
763     *  {@inheritDoc}
764     */
765    @Override
766    public final boolean rowDeleted() throws SQLException { return m_Instance.rowDeleted(); }
767
768    /**
769     *  {@inheritDoc}
770     */
771    @Override
772    public final boolean rowInserted() throws SQLException { return m_Instance.rowInserted(); }
773
774    /**
775     *  {@inheritDoc}
776     */
777    @Override
778    public final boolean rowUpdated() throws SQLException { return m_Instance.rowUpdated(); }
779
780    /**
781     *  {@inheritDoc}
782     */
783    @Override
784    public final void setFetchDirection( final int direction ) throws SQLException
785    {
786        throw new UnsupportedOperationException( "setFetchDirection()" );
787    }   //  setFetchDirection()
788
789    /**
790     *  {@inheritDoc}
791     */
792    @Override
793    public final void setFetchSize( final int rows ) throws SQLException
794    {
795        throw new UnsupportedOperationException( "setFetchSize" );
796    }   //  setFetchSize()
797
798    /**
799     *  {@inheritDoc}
800     */
801    @Override
802    public final <T> T unwrap( final Class<T> iface ) throws SQLException { return m_Instance.unwrap( iface ); }
803
804    /**
805     *  {@inheritDoc}
806     */
807    @Override
808    public final void updateArray( final int columnIndex, final Array x ) throws SQLException { m_Instance.updateArray( columnIndex, x ); }
809
810    /**
811     *  {@inheritDoc}
812     */
813    @Override
814    public final void updateArray( final String columnLabel, final Array x ) throws SQLException { m_Instance.updateArray( columnLabel, x ); }
815
816    /**
817     *  {@inheritDoc}
818     */
819    @Override
820    public final void updateAsciiStream( final int columnIndex, final InputStream x ) throws SQLException { m_Instance.updateAsciiStream( columnIndex, x ); }
821
822    /**
823     *  {@inheritDoc}
824     */
825    @Override
826    public final void updateAsciiStream( final int columnIndex, final InputStream x, final int length ) throws SQLException { m_Instance.updateAsciiStream( columnIndex, x, length ); }
827
828    /**
829     *  {@inheritDoc}
830     */
831    @Override
832    public final void updateAsciiStream( final int columnIndex, final InputStream x, final long length ) throws SQLException { m_Instance.updateAsciiStream( columnIndex, x, length ); }
833
834    /**
835     *  {@inheritDoc}
836     */
837    @Override
838    public final void updateAsciiStream( final String columnLabel, final InputStream x ) throws SQLException { m_Instance.updateAsciiStream( columnLabel, x ); }
839
840    /**
841     *  {@inheritDoc}
842     */
843    @Override
844    public final void updateAsciiStream( final String columnLabel, final InputStream x, final int length ) throws SQLException { m_Instance.updateAsciiStream( columnLabel, x, length ); }
845
846    /**
847     *  {@inheritDoc}
848     */
849    @Override
850    public final void updateAsciiStream( final String columnLabel, final InputStream x, final long length ) throws SQLException { m_Instance.updateAsciiStream( columnLabel, x, length ); }
851
852    /**
853     *  {@inheritDoc}
854     */
855    @Override
856    public final void updateBigDecimal( final int columnIndex, final BigDecimal x ) throws SQLException { m_Instance.updateBigDecimal( columnIndex, x ); }
857
858    /**
859     *  {@inheritDoc}
860     */
861    @Override
862    public final void updateBigDecimal( final String columnLabel, final BigDecimal x ) throws SQLException { m_Instance.updateBigDecimal( columnLabel, x ); }
863
864    /**
865     *  {@inheritDoc}
866     */
867    @Override
868    public final void updateBinaryStream( final int columnIndex, final InputStream x ) throws SQLException { m_Instance.updateBinaryStream( columnIndex, x ); }
869
870    /**
871     *  {@inheritDoc}
872     */
873    @Override
874    public final void updateBinaryStream( final int columnIndex, final InputStream x, final int length ) throws SQLException { m_Instance.updateBinaryStream( columnIndex, x, length ); }
875
876    /**
877     *  {@inheritDoc}
878     */
879    @Override
880    public final void updateBinaryStream( final int columnIndex, final InputStream x, final long length ) throws SQLException { m_Instance.updateBinaryStream( columnIndex, x, length ); }
881
882    /**
883     *  {@inheritDoc}
884     */
885    @Override
886    public final void updateBinaryStream( final String columnLabel, final InputStream x ) throws SQLException { m_Instance.updateBinaryStream( columnLabel, x ); }
887
888    /**
889     *  {@inheritDoc}
890     */
891    @Override
892    public final void updateBinaryStream( final String columnLabel, final InputStream x, final int length ) throws SQLException { m_Instance.updateBinaryStream( columnLabel, x, length ); }
893
894    /**
895     *  {@inheritDoc}
896     */
897    @Override
898    public final void updateBinaryStream( final String columnLabel, final InputStream x, final long length ) throws SQLException { m_Instance.updateBinaryStream( columnLabel, x, length ); }
899
900    /**
901     *  {@inheritDoc}
902     */
903    @Override
904    public final void updateBlob( final int columnIndex, final Blob x ) throws SQLException { m_Instance.updateBlob( columnIndex, x ); }
905
906    /**
907     *  {@inheritDoc}
908     */
909    @Override
910    public final void updateBlob( final int columnIndex, final InputStream inputStream ) throws SQLException { m_Instance.updateBlob( columnIndex, inputStream ); }
911
912    /**
913     *  {@inheritDoc}
914     */
915    @Override
916    public final void updateBlob( final int columnIndex, final InputStream inputStream, final long length ) throws SQLException { m_Instance.updateBlob( columnIndex, inputStream, length ); }
917
918    /**
919     *  {@inheritDoc}
920     */
921    @Override
922    public final void updateBlob( final String columnLabel, final Blob x ) throws SQLException { m_Instance.updateBlob( columnLabel, x ); }
923
924    /**
925     *  {@inheritDoc}
926     */
927    @Override
928    public final void updateBlob( final String columnLabel, final InputStream inputStream ) throws SQLException { m_Instance.updateBlob( columnLabel, inputStream ); }
929
930    /**
931     *  {@inheritDoc}
932     */
933    @Override
934    public final void updateBlob( final String columnLabel, final InputStream inputStream, final long length ) throws SQLException { m_Instance.updateBlob( columnLabel, inputStream, length ); }
935
936    /**
937     *  {@inheritDoc}
938     */
939    @Override
940    public final void updateBoolean( final int columnIndex, final boolean x ) throws SQLException { m_Instance.updateBoolean( columnIndex, x ); }
941
942    /**
943     *  {@inheritDoc}
944     */
945    @Override
946    public final void updateBoolean( final String columnLabel, final boolean x ) throws SQLException { m_Instance.updateBoolean( columnLabel, x ); }
947
948    /**
949     *  {@inheritDoc}
950     */
951    @Override
952    public final void updateByte( final int columnIndex, final byte x ) throws SQLException { m_Instance.updateByte( columnIndex, x ); }
953
954    /**
955     *  {@inheritDoc}
956     */
957    @Override
958    public final void updateByte( final String columnLabel, final byte x ) throws SQLException { m_Instance.updateByte( columnLabel, x ); }
959
960    /**
961     *  {@inheritDoc}
962     */
963    @Override
964    public final void updateBytes( final int columnIndex, final byte [] x ) throws SQLException { m_Instance.updateBytes( columnIndex, x ); }
965
966    /**
967     *  {@inheritDoc}
968     */
969    @Override
970    public final void updateBytes( final String columnLabel, final byte [] x ) throws SQLException { m_Instance.updateBytes( columnLabel, x ); }
971
972    /**
973     *  {@inheritDoc}
974     */
975    @Override
976    public final void updateCharacterStream( final int columnIndex, final Reader x ) throws SQLException { m_Instance.updateCharacterStream( columnIndex, x ); }
977
978    /**
979     *  {@inheritDoc}
980     */
981    @Override
982    public final void updateCharacterStream( final int columnIndex, final Reader x, final int length ) throws SQLException { m_Instance.updateCharacterStream( columnIndex, x, length ); }
983
984    /**
985     *  {@inheritDoc}
986     */
987    @Override
988    public final void updateCharacterStream( final int columnIndex, final Reader x, final long length ) throws SQLException { m_Instance.updateCharacterStream( columnIndex, x, length ); }
989
990    /**
991     *  {@inheritDoc}
992     */
993    @Override
994    public final void updateCharacterStream( final String columnLabel, final Reader reader ) throws SQLException { m_Instance.updateCharacterStream( columnLabel, reader ); }
995
996    /**
997     *  {@inheritDoc}
998     */
999    @Override
1000    public final void updateCharacterStream( final String columnLabel, final Reader reader, final int length ) throws SQLException { m_Instance.updateCharacterStream( columnLabel, reader, length ); }
1001
1002    /**
1003     *  {@inheritDoc}
1004     */
1005    @Override
1006    public final void updateCharacterStream( final String columnLabel, final Reader reader, final long length ) throws SQLException { m_Instance.updateCharacterStream( columnLabel, reader, length ); }
1007
1008    /**
1009     *  {@inheritDoc}
1010     */
1011    @Override
1012    public final void updateClob( final int columnIndex, final Clob x ) throws SQLException { m_Instance.updateClob( columnIndex, x ); }
1013
1014    /**
1015     *  {@inheritDoc}
1016     */
1017    @Override
1018    public final void updateClob( final int columnIndex, final Reader reader ) throws SQLException { m_Instance.updateClob( columnIndex, reader ); }
1019
1020    /**
1021     *  {@inheritDoc}
1022     */
1023    @Override
1024    public final void updateClob( final int columnIndex, final Reader reader, final long length ) throws SQLException { m_Instance.updateClob( columnIndex, reader, length ); }
1025
1026    /**
1027     *  {@inheritDoc}
1028     */
1029    @Override
1030    public final void updateClob( final String columnLabel, final Clob x ) throws SQLException { m_Instance.updateClob( columnLabel, x ); }
1031
1032    /**
1033     *  {@inheritDoc}
1034     */
1035    @Override
1036    public final void updateClob( final String columnLabel, final Reader reader ) throws SQLException { m_Instance.updateClob( columnLabel, reader ); }
1037
1038    /**
1039     *  {@inheritDoc}
1040     */
1041    @Override
1042    public final void updateClob( final String columnLabel, final Reader reader, final long length ) throws SQLException { m_Instance.updateClob( columnLabel, reader, length ); }
1043
1044    /**
1045     *  {@inheritDoc}
1046     */
1047    @Override
1048    public final void updateDate( final int columnIndex, final Date x ) throws SQLException { m_Instance.updateDate( columnIndex, x ); }
1049
1050    /**
1051     *  {@inheritDoc}
1052     */
1053    @Override
1054    public final void updateDate( final String columnLabel, final Date x ) throws SQLException { m_Instance.updateDate( columnLabel, x ); }
1055
1056    /**
1057     *  {@inheritDoc}
1058     */
1059    @Override
1060    public final void updateDouble( final int columnIndex, final double x ) throws SQLException { m_Instance.updateDouble( columnIndex, x ); }
1061
1062    /**
1063     *  {@inheritDoc}
1064     */
1065    @Override
1066    public final void updateDouble( final String columnLabel, final double x ) throws SQLException { m_Instance.updateDouble( columnLabel, x ); }
1067
1068    /**
1069     *  {@inheritDoc}
1070     */
1071    @Override
1072    public final void updateFloat( final int columnIndex, final float x ) throws SQLException { m_Instance.updateFloat( columnIndex, x ); }
1073
1074    /**
1075     *  {@inheritDoc}
1076     */
1077    @Override
1078    public final void updateFloat( final String columnLabel, final float x ) throws SQLException { m_Instance.updateFloat( columnLabel, x ); }
1079
1080    /**
1081     *  {@inheritDoc}
1082     */
1083    @Override
1084    public final void updateInt( final int columnIndex, final int x ) throws SQLException { m_Instance.updateInt( columnIndex, x ); }
1085
1086    /**
1087     *  {@inheritDoc}
1088     */
1089    @Override
1090    public final void updateInt( final String columnLabel, final int x ) throws SQLException { m_Instance.updateInt( columnLabel, x ); }
1091
1092    /**
1093     *  {@inheritDoc}
1094     */
1095    @Override
1096    public final void updateLong( final int columnIndex, final long x ) throws SQLException { m_Instance.updateLong( columnIndex, x ); }
1097
1098    /**
1099     *  {@inheritDoc}
1100     */
1101    @Override
1102    public final void updateLong( final String columnLabel, final long x ) throws SQLException { m_Instance.updateLong( columnLabel, x ); }
1103
1104    /**
1105     *  {@inheritDoc}
1106     */
1107    @Override
1108    public final void updateNCharacterStream( final int columnIndex, final Reader x ) throws SQLException { m_Instance.updateNCharacterStream( columnIndex, x ); }
1109
1110    /**
1111     *  {@inheritDoc}
1112     */
1113    @Override
1114    public final void updateNCharacterStream( final int columnIndex, final Reader x, final long length ) throws SQLException { m_Instance.updateNCharacterStream( columnIndex, x, length ); }
1115
1116    /**
1117     *  {@inheritDoc}
1118     */
1119    @Override
1120    public final void updateNCharacterStream( final String columnLabel, final Reader reader ) throws SQLException { m_Instance.updateNCharacterStream( columnLabel, reader ); }
1121
1122    /**
1123     *  {@inheritDoc}
1124     */
1125    @Override
1126    public final void updateNCharacterStream( final String columnLabel, final Reader reader, final long length ) throws SQLException { m_Instance.updateNCharacterStream( columnLabel, reader, length ); }
1127
1128    /**
1129     *  {@inheritDoc}
1130     */
1131    @Override
1132    public final void updateNClob( final int columnIndex, final NClob nClob ) throws SQLException { m_Instance.updateNClob( columnIndex, nClob ); }
1133
1134    /**
1135     *  {@inheritDoc}
1136     */
1137    @Override
1138    public final void updateNClob( final int columnIndex, final Reader reader ) throws SQLException { m_Instance.updateNClob( columnIndex, reader ); }
1139
1140    /**
1141     *  {@inheritDoc}
1142     */
1143    @Override
1144    public final void updateNClob( final int columnIndex, final Reader reader, final long length ) throws SQLException { m_Instance.updateNClob( columnIndex, reader, length ); }
1145
1146    /**
1147     *  {@inheritDoc}
1148     */
1149    @Override
1150    public final void updateNClob( final String columnLabel, final NClob nClob ) throws SQLException { m_Instance.updateNClob( columnLabel, nClob ); }
1151
1152    /**
1153     *  {@inheritDoc}
1154     */
1155    @Override
1156    public final void updateNClob( final String columnLabel, final Reader reader ) throws SQLException { m_Instance.updateNClob( columnLabel, reader ); }
1157
1158    /**
1159     *  {@inheritDoc}
1160     */
1161    @Override
1162    public final void updateNClob( final String columnLabel, final Reader reader, final long length ) throws SQLException { m_Instance.updateNClob( columnLabel, reader, length ); }
1163
1164    /**
1165     *  {@inheritDoc}
1166     */
1167    @Override
1168    public final void updateNString( final int columnIndex, final String nString ) throws SQLException { m_Instance.updateNString( columnIndex, nString ); }
1169
1170    /**
1171     *  {@inheritDoc}
1172     */
1173    @Override
1174    public final void updateNString( final String columnLabel, final String nString ) throws SQLException { m_Instance.updateNString( columnLabel, nString ); }
1175
1176    /**
1177     *  {@inheritDoc}
1178     */
1179    @Override
1180    public final void updateNull( final int columnIndex ) throws SQLException { m_Instance.updateNull( columnIndex ); }
1181
1182    /**
1183     *  {@inheritDoc}
1184     */
1185    @Override
1186    public final void updateNull( final String columnLabel ) throws SQLException { m_Instance.updateNull( columnLabel ); }
1187
1188    /**
1189     *  {@inheritDoc}
1190     */
1191    @Override
1192    public final void updateObject( final int columnIndex, final Object x ) throws SQLException { m_Instance.updateObject( columnIndex, x ); }
1193
1194    /**
1195     *  {@inheritDoc}
1196     */
1197    @Override
1198    public final void updateObject( final int columnIndex, final Object x, final int scaleOrLength ) throws SQLException { m_Instance.updateObject( columnIndex, x, scaleOrLength ); }
1199
1200    /**
1201     *  {@inheritDoc}
1202     */
1203    @Override
1204    public final void updateObject( final int columnIndex, final Object x, final SQLType targetSqlType ) throws SQLException { m_Instance.updateObject( columnIndex, x, targetSqlType ); }
1205
1206    /**
1207     *  {@inheritDoc}
1208     */
1209    @Override
1210    public final void updateObject( final int columnIndex, final Object x, final SQLType targetSqlType, final int scaleOrLength ) throws SQLException { m_Instance.updateObject( columnIndex, x, targetSqlType, scaleOrLength ); }
1211
1212    /**
1213     *  {@inheritDoc}
1214     */
1215    @Override
1216    public final void updateObject( final String columnLabel, final Object x ) throws SQLException { m_Instance.updateObject( columnLabel, x ); }
1217
1218    /**
1219     *  {@inheritDoc}
1220     */
1221    @Override
1222    public final void updateObject( final String columnLabel, final Object x, final int scaleOrLength ) throws SQLException { m_Instance.updateObject( columnLabel, x, scaleOrLength ); }
1223
1224    /**
1225     *  {@inheritDoc}
1226     */
1227    @Override
1228    public final void updateObject( final String columnLabel, final Object x, final SQLType targetSqlType ) throws SQLException { m_Instance.updateObject( columnLabel, x, targetSqlType ); }
1229
1230    /**
1231     *  {@inheritDoc}
1232     */
1233    @Override
1234    public final void updateObject( final String columnLabel, final Object x, final SQLType targetSqlType, final int scaleOrLength ) throws SQLException { m_Instance.updateObject( columnLabel, x, targetSqlType, scaleOrLength ); }
1235
1236    /**
1237     *  {@inheritDoc}
1238     */
1239    @Override
1240    public final void updateRef( final int columnIndex, final Ref x ) throws SQLException { m_Instance.updateRef( columnIndex, x ); }
1241
1242    /**
1243     *  {@inheritDoc}
1244     */
1245    @Override
1246    public final void updateRef( final String columnLabel, final Ref x ) throws SQLException { m_Instance.updateRef( columnLabel, x ); }
1247
1248    /**
1249     *  {@inheritDoc}
1250     */
1251    @Override
1252    public final void updateRow() throws SQLException { m_Instance.updateRow(); }
1253
1254    /**
1255     *  {@inheritDoc}
1256     */
1257    @Override
1258    public final void updateRowId( final int columnIndex, final RowId x ) throws SQLException { m_Instance.updateRowId( columnIndex, x ); }
1259
1260    /**
1261     *  {@inheritDoc}
1262     */
1263    @Override
1264    public final void updateRowId( final String columnLabel, final RowId x ) throws SQLException { m_Instance.updateRowId( columnLabel, x ); }
1265
1266    /**
1267     *  {@inheritDoc}
1268     */
1269    @Override
1270    public final void updateShort( final int columnIndex, final short x ) throws SQLException { m_Instance.updateShort( columnIndex, x ); }
1271
1272    /**
1273     *  {@inheritDoc}
1274     */
1275    @Override
1276    public final void updateShort( final String columnLabel, final short x ) throws SQLException { m_Instance.updateShort( columnLabel, x ); }
1277
1278    /**
1279     *  {@inheritDoc}
1280     */
1281    @Override
1282    public final void updateSQLXML( final int columnIndex, final SQLXML xmlObject ) throws SQLException { m_Instance.updateSQLXML( columnIndex, xmlObject ); }
1283
1284    /**
1285     *  {@inheritDoc}
1286     */
1287    @Override
1288    public final void updateSQLXML( final String columnLabel, final SQLXML xmlObject ) throws SQLException { m_Instance.updateSQLXML( columnLabel, xmlObject ); }
1289
1290    /**
1291     *  {@inheritDoc}
1292     */
1293    @Override
1294    public final void updateString( final int columnIndex, final String x ) throws SQLException { m_Instance.updateString( columnIndex, x ); }
1295
1296    /**
1297     *  {@inheritDoc}
1298     */
1299    @Override
1300    public final void updateString( final String columnLabel, final String x ) throws SQLException { m_Instance.updateString( columnLabel, x ); }
1301
1302    /**
1303     *  {@inheritDoc}
1304     */
1305    @Override
1306    public final void updateTime( final int columnIndex, final Time x ) throws SQLException { m_Instance.updateTime( columnIndex, x ); }
1307
1308    /**
1309     *  {@inheritDoc}
1310     */
1311    @Override
1312    public final void updateTime( final String columnLabel, final Time x ) throws SQLException { m_Instance.updateTime( columnLabel, x ); }
1313
1314    /**
1315     *  {@inheritDoc}
1316     */
1317    @Override
1318    public final void updateTimestamp( final int columnIndex, final Timestamp x ) throws SQLException { m_Instance.updateTimestamp( columnIndex, x ); }
1319
1320    /**
1321     *  {@inheritDoc}
1322     */
1323    @Override
1324    public final void updateTimestamp( final String columnLabel, final Timestamp x ) throws SQLException { m_Instance.updateTimestamp( columnLabel, x ); }
1325
1326    /**
1327     *  {@inheritDoc}
1328     */
1329    @Override
1330    public final boolean wasNull() throws SQLException { return m_Instance.wasNull(); }
1331}
1332//  class ResultSetWrapper
1333
1334/*
1335 *  End of File
1336 */