001: /*
002: * $Id: ForwardOnlyResultSet.java,v 1.3 2007/11/13 19:04:01 rwald Exp $
003: * =======================================================================
004: * Copyright (c) 2005 Axion Development Team. All rights reserved.
005: *
006: * Redistribution and use in source and binary forms, with or without
007: * modification, are permitted provided that the following conditions
008: * are met:
009: *
010: * 1. Redistributions of source code must retain the above
011: * copyright notice, this list of conditions and the following
012: * disclaimer.
013: *
014: * 2. Redistributions in binary form must reproduce the above copyright
015: * notice, this list of conditions and the following disclaimer in
016: * the documentation and/or other materials provided with the
017: * distribution.
018: *
019: * 3. The names "Tigris", "Axion", nor the names of its contributors may
020: * not be used to endorse or promote products derived from this
021: * software without specific prior written permission.
022: *
023: * 4. Products derived from this software may not be called "Axion", nor
024: * may "Tigris" or "Axion" appear in their names without specific prior
025: * written permission.
026: *
027: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
028: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
029: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
030: * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
031: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
032: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
033: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
034: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
035: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
036: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
037: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
038: * =======================================================================
039: */
040: package org.axiondb.jdbc;
041:
042: import java.io.InputStream;
043: import java.io.Reader;
044: import java.sql.NClob;
045: import java.sql.ResultSet;
046: import java.sql.RowId;
047: import java.sql.SQLException;
048: import java.sql.SQLXML;
049: import java.util.Map;
050:
051: /**
052: *
053: * @author Jonathan Giron
054: * @version $Revision: 1.3 $
055: */
056: public final class ForwardOnlyResultSet extends
057: BaseAxionResultSetDecorator {
058:
059: /**
060: * @param rs ResultSet that needs to be decorated
061: */
062: public ForwardOnlyResultSet(ResultSet rs) {
063: super (rs);
064: }
065:
066: public boolean absolute(int row) throws SQLException {
067: throw new SQLException(
068: "Forward-only ResultSet - not supported.");
069: }
070:
071: public void afterLast() throws SQLException {
072: throw new SQLException(
073: "Forward-only ResultSet - not supported.");
074: }
075:
076: public void beforeFirst() throws SQLException {
077: throw new SQLException(
078: "Forward-only ResultSet - not supported.");
079: }
080:
081: public boolean first() throws SQLException {
082: throw new SQLException(
083: "Forward-only ResultSet - not supported.");
084: }
085:
086: public boolean last() throws SQLException {
087: throw new SQLException(
088: "Forward-only ResultSet - not supported.");
089: }
090:
091: public boolean previous() throws SQLException {
092: throw new SQLException(
093: "Forward-only ResultSet - not supported.");
094: }
095:
096: public boolean relative(int rows) throws SQLException {
097: if (rows < 0) {
098: throw new SQLException(
099: "Forward-only ResultSet - not supported.");
100: }
101:
102: return super .relative(rows);
103: }
104:
105: public void setFetchDirection(int direction) throws SQLException {
106: if (ResultSet.FETCH_FORWARD == direction) {
107: super .setFetchDirection(direction);
108: } else {
109: throw new SQLException(
110: "Forward-only ResultSet - not supported.");
111: }
112: }
113:
114: @Override
115: public int getHoldability() throws SQLException {
116: throw new SQLException("Not supported");
117: }
118:
119: @Override
120: public Reader getNCharacterStream(int arg0) throws SQLException {
121: throw new SQLException("Not supported");
122: }
123:
124: @Override
125: public Reader getNCharacterStream(String arg0) throws SQLException {
126: throw new SQLException("Not supported");
127: }
128:
129: @Override
130: public NClob getNClob(int arg0) throws SQLException {
131: throw new SQLException("Not supported");
132: }
133:
134: @Override
135: public NClob getNClob(String arg0) throws SQLException {
136: throw new SQLException("Not supported");
137: }
138:
139: @Override
140: public String getNString(int arg0) throws SQLException {
141: throw new SQLException("Not supported");
142: }
143:
144: @Override
145: public String getNString(String arg0) throws SQLException {
146: throw new SQLException("Not supported");
147: }
148:
149: @Override
150: public RowId getRowId(int arg0) throws SQLException {
151: throw new SQLException("Not supported");
152: }
153:
154: @Override
155: public RowId getRowId(String arg0) throws SQLException {
156: throw new SQLException("Not supported");
157: }
158:
159: @Override
160: public SQLXML getSQLXML(int arg0) throws SQLException {
161: throw new SQLException("Not supported");
162: }
163:
164: @Override
165: public SQLXML getSQLXML(String arg0) throws SQLException {
166: throw new SQLException("Not supported");
167: }
168:
169: @Override
170: public boolean isClosed() throws SQLException {
171: throw new SQLException("Not supported");
172: }
173:
174: @Override
175: public void updateAsciiStream(int arg0, InputStream arg1)
176: throws SQLException {
177: throw new SQLException("Not supported");
178: }
179:
180: @Override
181: public void updateAsciiStream(String arg0, InputStream arg1)
182: throws SQLException {
183: throw new SQLException("Not supported");
184: }
185:
186: @Override
187: public void updateAsciiStream(int arg0, InputStream arg1, long arg2)
188: throws SQLException {
189: throw new SQLException("Not supported");
190: }
191:
192: @Override
193: public void updateAsciiStream(String arg0, InputStream arg1,
194: long arg2) throws SQLException {
195: throw new SQLException("Not supported");
196: }
197:
198: @Override
199: public void updateBinaryStream(int arg0, InputStream arg1)
200: throws SQLException {
201: throw new SQLException("Not supported");
202: }
203:
204: @Override
205: public void updateBinaryStream(String arg0, InputStream arg1)
206: throws SQLException {
207: throw new SQLException("Not supported");
208: }
209:
210: @Override
211: public void updateBinaryStream(int arg0, InputStream arg1, long arg2)
212: throws SQLException {
213: throw new SQLException("Not supported");
214: }
215:
216: @Override
217: public void updateBinaryStream(String arg0, InputStream arg1,
218: long arg2) throws SQLException {
219: throw new SQLException("Not supported");
220: }
221:
222: @Override
223: public void updateBlob(int arg0, InputStream arg1)
224: throws SQLException {
225: throw new SQLException("Not supported");
226: }
227:
228: @Override
229: public void updateBlob(String arg0, InputStream arg1)
230: throws SQLException {
231: throw new SQLException("Not supported");
232: }
233:
234: @Override
235: public void updateBlob(int arg0, InputStream arg1, long arg2)
236: throws SQLException {
237: throw new SQLException("Not supported");
238: }
239:
240: @Override
241: public void updateBlob(String arg0, InputStream arg1, long arg2)
242: throws SQLException {
243: throw new SQLException("Not supported");
244: }
245:
246: @Override
247: public void updateCharacterStream(int arg0, Reader arg1)
248: throws SQLException {
249: throw new SQLException("Not supported");
250: }
251:
252: @Override
253: public void updateCharacterStream(String arg0, Reader arg1)
254: throws SQLException {
255: throw new SQLException("Not supported");
256: }
257:
258: @Override
259: public void updateCharacterStream(int arg0, Reader arg1, long arg2)
260: throws SQLException {
261: throw new SQLException("Not supported");
262: }
263:
264: @Override
265: public void updateCharacterStream(String arg0, Reader arg1,
266: long arg2) throws SQLException {
267: throw new SQLException("Not supported");
268: }
269:
270: @Override
271: public void updateClob(int arg0, Reader arg1) throws SQLException {
272: throw new SQLException("Not supported");
273: }
274:
275: @Override
276: public void updateClob(String arg0, Reader arg1)
277: throws SQLException {
278: throw new SQLException("Not supported");
279: }
280:
281: @Override
282: public void updateClob(int arg0, Reader arg1, long arg2)
283: throws SQLException {
284: throw new SQLException("Not supported");
285: }
286:
287: @Override
288: public void updateClob(String arg0, Reader arg1, long arg2)
289: throws SQLException {
290: throw new SQLException("Not supported");
291: }
292:
293: @Override
294: public void updateNCharacterStream(int arg0, Reader arg1)
295: throws SQLException {
296: throw new SQLException("Not supported");
297: }
298:
299: @Override
300: public void updateNCharacterStream(String arg0, Reader arg1)
301: throws SQLException {
302: throw new SQLException("Not supported");
303: }
304:
305: @Override
306: public void updateNCharacterStream(int arg0, Reader arg1, long arg2)
307: throws SQLException {
308: throw new SQLException("Not supported");
309: }
310:
311: @Override
312: public void updateNCharacterStream(String arg0, Reader arg1,
313: long arg2) throws SQLException {
314: throw new SQLException("Not supported");
315: }
316:
317: @Override
318: public void updateNClob(int arg0, NClob arg1) throws SQLException {
319: throw new SQLException("Not supported");
320: }
321:
322: @Override
323: public void updateNClob(String arg0, NClob arg1)
324: throws SQLException {
325: throw new SQLException("Not supported");
326: }
327:
328: @Override
329: public void updateNClob(int arg0, Reader arg1) throws SQLException {
330: throw new SQLException("Not supported");
331: }
332:
333: @Override
334: public void updateNClob(String arg0, Reader arg1)
335: throws SQLException {
336: throw new SQLException("Not supported");
337: }
338:
339: @Override
340: public void updateNClob(int arg0, Reader arg1, long arg2)
341: throws SQLException {
342: throw new SQLException("Not supported");
343: }
344:
345: @Override
346: public void updateNClob(String arg0, Reader arg1, long arg2)
347: throws SQLException {
348: throw new SQLException("Not supported");
349: }
350:
351: @Override
352: public void updateNString(int arg0, String arg1)
353: throws SQLException {
354: throw new SQLException("Not supported");
355: }
356:
357: @Override
358: public void updateNString(String arg0, String arg1)
359: throws SQLException {
360: throw new SQLException("Not supported");
361: }
362:
363: @Override
364: public void updateRowId(int arg0, RowId arg1) throws SQLException {
365: throw new SQLException("Not supported");
366: }
367:
368: @Override
369: public void updateRowId(String arg0, RowId arg1)
370: throws SQLException {
371: throw new SQLException("Not supported");
372: }
373:
374: @Override
375: public void updateSQLXML(int arg0, SQLXML arg1) throws SQLException {
376: throw new SQLException("Not supported");
377: }
378:
379: @Override
380: public void updateSQLXML(String arg0, SQLXML arg1)
381: throws SQLException {
382: throw new SQLException("Not supported");
383: }
384:
385: @Override
386: public boolean isWrapperFor(Class<?> arg0) throws SQLException {
387: throw new SQLException("Not supported");
388: }
389:
390: @Override
391: public <T> T unwrap(Class<T> arg0) throws SQLException {
392: throw new SQLException("Not supported");
393: }
394: }
|