001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.commons.dbcp;
019
020 import java.net.URL;
021 import java.sql.CallableStatement;
022 import java.math.BigDecimal;
023 import java.sql.Date;
024 import java.sql.Time;
025 import java.sql.Timestamp;
026 import java.util.Map;
027 import java.sql.Ref;
028 import java.sql.Blob;
029 import java.sql.Clob;
030 import java.sql.Array;
031 import java.util.Calendar;
032 import java.io.InputStream;
033 import java.io.Reader;
034 import java.sql.SQLException;
035 /* JDBC_4_ANT_KEY_BEGIN */
036 import java.sql.NClob;
037 import java.sql.RowId;
038 import java.sql.SQLXML;
039 /* JDBC_4_ANT_KEY_END */
040
041 /**
042 * A base delegating implementation of {@link CallableStatement}.
043 * <p>
044 * All of the methods from the {@link CallableStatement} interface
045 * simply call the corresponding method on the "delegate"
046 * provided in my constructor.
047 * <p>
048 * Extends AbandonedTrace to implement Statement tracking and
049 * logging of code which created the Statement. Tracking the
050 * Statement ensures that the Connection which created it can
051 * close any open Statement's on Connection close.
052 *
053 * @author Glenn L. Nielsen
054 * @author James House
055 * @author Dirk Verbeeck
056 * @version $Revision: 883941 $ $Date: 2009-11-24 19:58:50 -0500 (Tue, 24 Nov 2009) $
057 */
058 public class DelegatingCallableStatement extends DelegatingPreparedStatement
059 implements CallableStatement {
060
061 /**
062 * Create a wrapper for the Statement which traces this
063 * Statement to the Connection which created it and the
064 * code which created it.
065 *
066 * @param c the {@link DelegatingConnection} that created this statement
067 * @param s the {@link CallableStatement} to delegate all calls to
068 */
069 public DelegatingCallableStatement(DelegatingConnection c,
070 CallableStatement s) {
071 super(c, s);
072 }
073
074 public boolean equals(Object obj) {
075 CallableStatement delegate = (CallableStatement) getInnermostDelegate();
076 if (delegate == null) {
077 return false;
078 }
079 if (obj instanceof DelegatingCallableStatement) {
080 DelegatingCallableStatement s = (DelegatingCallableStatement) obj;
081 return delegate.equals(s.getInnermostDelegate());
082 }
083 else {
084 return delegate.equals(obj);
085 }
086 }
087
088 /** Sets my delegate. */
089 public void setDelegate(CallableStatement s) {
090 super.setDelegate(s);
091 _stmt = s;
092 }
093
094 public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
095 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter( parameterIndex, sqlType); } catch (SQLException e) { handleException(e); } }
096
097 public void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
098 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter( parameterIndex, sqlType, scale); } catch (SQLException e) { handleException(e); } }
099
100 public boolean wasNull() throws SQLException
101 { checkOpen(); try { return ((CallableStatement)_stmt).wasNull(); } catch (SQLException e) { handleException(e); return false; } }
102
103 public String getString(int parameterIndex) throws SQLException
104 { checkOpen(); try { return ((CallableStatement)_stmt).getString( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
105
106 public boolean getBoolean(int parameterIndex) throws SQLException
107 { checkOpen(); try { return ((CallableStatement)_stmt).getBoolean( parameterIndex); } catch (SQLException e) { handleException(e); return false; } }
108
109 public byte getByte(int parameterIndex) throws SQLException
110 { checkOpen(); try { return ((CallableStatement)_stmt).getByte( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
111
112 public short getShort(int parameterIndex) throws SQLException
113 { checkOpen(); try { return ((CallableStatement)_stmt).getShort( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
114
115 public int getInt(int parameterIndex) throws SQLException
116 { checkOpen(); try { return ((CallableStatement)_stmt).getInt( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
117
118 public long getLong(int parameterIndex) throws SQLException
119 { checkOpen(); try { return ((CallableStatement)_stmt).getLong( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
120
121 public float getFloat(int parameterIndex) throws SQLException
122 { checkOpen(); try { return ((CallableStatement)_stmt).getFloat( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
123
124 public double getDouble(int parameterIndex) throws SQLException
125 { checkOpen(); try { return ((CallableStatement)_stmt).getDouble( parameterIndex); } catch (SQLException e) { handleException(e); return 0; } }
126
127 /** @deprecated */
128 public BigDecimal getBigDecimal(int parameterIndex, int scale) throws SQLException
129 { checkOpen(); try { return ((CallableStatement)_stmt).getBigDecimal( parameterIndex, scale); } catch (SQLException e) { handleException(e); return null; } }
130
131 public byte[] getBytes(int parameterIndex) throws SQLException
132 { checkOpen(); try { return ((CallableStatement)_stmt).getBytes( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
133
134 public Date getDate(int parameterIndex) throws SQLException
135 { checkOpen(); try { return ((CallableStatement)_stmt).getDate( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
136
137 public Time getTime(int parameterIndex) throws SQLException
138 { checkOpen(); try { return ((CallableStatement)_stmt).getTime( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
139
140 public Timestamp getTimestamp(int parameterIndex) throws SQLException
141 { checkOpen(); try { return ((CallableStatement)_stmt).getTimestamp( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
142
143 public Object getObject(int parameterIndex) throws SQLException
144 { checkOpen(); try { return ((CallableStatement)_stmt).getObject( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
145
146 public BigDecimal getBigDecimal(int parameterIndex) throws SQLException
147 { checkOpen(); try { return ((CallableStatement)_stmt).getBigDecimal( parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
148
149 public Object getObject(int i, Map map) throws SQLException
150 { checkOpen(); try { return ((CallableStatement)_stmt).getObject( i, map); } catch (SQLException e) { handleException(e); return null; } }
151
152 public Ref getRef(int i) throws SQLException
153 { checkOpen(); try { return ((CallableStatement)_stmt).getRef( i); } catch (SQLException e) { handleException(e); return null; } }
154
155 public Blob getBlob(int i) throws SQLException
156 { checkOpen(); try { return ((CallableStatement)_stmt).getBlob( i); } catch (SQLException e) { handleException(e); return null; } }
157
158 public Clob getClob(int i) throws SQLException
159 { checkOpen(); try { return ((CallableStatement)_stmt).getClob( i); } catch (SQLException e) { handleException(e); return null; } }
160
161 public Array getArray(int i) throws SQLException
162 { checkOpen(); try { return ((CallableStatement)_stmt).getArray( i); } catch (SQLException e) { handleException(e); return null; } }
163
164 public Date getDate(int parameterIndex, Calendar cal) throws SQLException
165 { checkOpen(); try { return ((CallableStatement)_stmt).getDate( parameterIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
166
167 public Time getTime(int parameterIndex, Calendar cal) throws SQLException
168 { checkOpen(); try { return ((CallableStatement)_stmt).getTime( parameterIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
169
170 public Timestamp getTimestamp(int parameterIndex, Calendar cal) throws SQLException
171 { checkOpen(); try { return ((CallableStatement)_stmt).getTimestamp( parameterIndex, cal); } catch (SQLException e) { handleException(e); return null; } }
172
173 public void registerOutParameter(int paramIndex, int sqlType, String typeName) throws SQLException
174 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter( paramIndex, sqlType, typeName); } catch (SQLException e) { handleException(e); } }
175
176 public void registerOutParameter(String parameterName, int sqlType) throws SQLException
177 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter(parameterName, sqlType); } catch (SQLException e) { handleException(e); } }
178
179 public void registerOutParameter(String parameterName, int sqlType, int scale) throws SQLException
180 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter(parameterName, sqlType, scale); } catch (SQLException e) { handleException(e); } }
181
182 public void registerOutParameter(String parameterName, int sqlType, String typeName) throws SQLException
183 { checkOpen(); try { ((CallableStatement)_stmt).registerOutParameter(parameterName, sqlType, typeName); } catch (SQLException e) { handleException(e); } }
184
185 public URL getURL(int parameterIndex) throws SQLException
186 { checkOpen(); try { return ((CallableStatement)_stmt).getURL(parameterIndex); } catch (SQLException e) { handleException(e); return null; } }
187
188 public void setURL(String parameterName, URL val) throws SQLException
189 { checkOpen(); try { ((CallableStatement)_stmt).setURL(parameterName, val); } catch (SQLException e) { handleException(e); } }
190
191 public void setNull(String parameterName, int sqlType) throws SQLException
192 { checkOpen(); try { ((CallableStatement)_stmt).setNull(parameterName, sqlType); } catch (SQLException e) { handleException(e); } }
193
194 public void setBoolean(String parameterName, boolean x) throws SQLException
195 { checkOpen(); try { ((CallableStatement)_stmt).setBoolean(parameterName, x); } catch (SQLException e) { handleException(e); } }
196
197 public void setByte(String parameterName, byte x) throws SQLException
198 { checkOpen(); try { ((CallableStatement)_stmt).setByte(parameterName, x); } catch (SQLException e) { handleException(e); } }
199
200 public void setShort(String parameterName, short x) throws SQLException
201 { checkOpen(); try { ((CallableStatement)_stmt).setShort(parameterName, x); } catch (SQLException e) { handleException(e); } }
202
203 public void setInt(String parameterName, int x) throws SQLException
204 { checkOpen(); try { ((CallableStatement)_stmt).setInt(parameterName, x); } catch (SQLException e) { handleException(e); } }
205
206 public void setLong(String parameterName, long x) throws SQLException
207 { checkOpen(); try { ((CallableStatement)_stmt).setLong(parameterName, x); } catch (SQLException e) { handleException(e); } }
208
209 public void setFloat(String parameterName, float x) throws SQLException
210 { checkOpen(); try { ((CallableStatement)_stmt).setFloat(parameterName, x); } catch (SQLException e) { handleException(e); } }
211
212 public void setDouble(String parameterName, double x) throws SQLException
213 { checkOpen(); try { ((CallableStatement)_stmt).setDouble(parameterName, x); } catch (SQLException e) { handleException(e); } }
214
215 public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException
216 { checkOpen(); try { ((CallableStatement)_stmt).setBigDecimal(parameterName, x); } catch (SQLException e) { handleException(e); } }
217
218 public void setString(String parameterName, String x) throws SQLException
219 { checkOpen(); try { ((CallableStatement)_stmt).setString(parameterName, x); } catch (SQLException e) { handleException(e); } }
220
221 public void setBytes(String parameterName, byte [] x) throws SQLException
222 { checkOpen(); try { ((CallableStatement)_stmt).setBytes(parameterName, x); } catch (SQLException e) { handleException(e); } }
223
224 public void setDate(String parameterName, Date x) throws SQLException
225 { checkOpen(); try { ((CallableStatement)_stmt).setDate(parameterName, x); } catch (SQLException e) { handleException(e); } }
226
227 public void setTime(String parameterName, Time x) throws SQLException
228 { checkOpen(); try { ((CallableStatement)_stmt).setTime(parameterName, x); } catch (SQLException e) { handleException(e); } }
229
230 public void setTimestamp(String parameterName, Timestamp x) throws SQLException
231 { checkOpen(); try { ((CallableStatement)_stmt).setTimestamp(parameterName, x); } catch (SQLException e) { handleException(e); } }
232
233 public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException
234 { checkOpen(); try { ((CallableStatement)_stmt).setAsciiStream(parameterName, x, length); } catch (SQLException e) { handleException(e); } }
235
236 public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException
237 { checkOpen(); try { ((CallableStatement)_stmt).setBinaryStream(parameterName, x, length); } catch (SQLException e) { handleException(e); } }
238
239 public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException
240 { checkOpen(); try { ((CallableStatement)_stmt).setObject(parameterName, x, targetSqlType, scale); } catch (SQLException e) { handleException(e); } }
241
242 public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException
243 { checkOpen(); try { ((CallableStatement)_stmt).setObject(parameterName, x, targetSqlType); } catch (SQLException e) { handleException(e); } }
244
245 public void setObject(String parameterName, Object x) throws SQLException
246 { checkOpen(); try { ((CallableStatement)_stmt).setObject(parameterName, x); } catch (SQLException e) { handleException(e); } }
247
248 public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException
249 { checkOpen(); ((CallableStatement)_stmt).setCharacterStream(parameterName, reader, length); }
250
251 public void setDate(String parameterName, Date x, Calendar cal) throws SQLException
252 { checkOpen(); try { ((CallableStatement)_stmt).setDate(parameterName, x, cal); } catch (SQLException e) { handleException(e); } }
253
254 public void setTime(String parameterName, Time x, Calendar cal) throws SQLException
255 { checkOpen(); try { ((CallableStatement)_stmt).setTime(parameterName, x, cal); } catch (SQLException e) { handleException(e); } }
256
257 public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException
258 { checkOpen(); try { ((CallableStatement)_stmt).setTimestamp(parameterName, x, cal); } catch (SQLException e) { handleException(e); } }
259
260 public void setNull(String parameterName, int sqlType, String typeName) throws SQLException
261 { checkOpen(); try { ((CallableStatement)_stmt).setNull(parameterName, sqlType, typeName); } catch (SQLException e) { handleException(e); } }
262
263 public String getString(String parameterName) throws SQLException
264 { checkOpen(); try { return ((CallableStatement)_stmt).getString(parameterName); } catch (SQLException e) { handleException(e); return null; } }
265
266 public boolean getBoolean(String parameterName) throws SQLException
267 { checkOpen(); try { return ((CallableStatement)_stmt).getBoolean(parameterName); } catch (SQLException e) { handleException(e); return false; } }
268
269 public byte getByte(String parameterName) throws SQLException
270 { checkOpen(); try { return ((CallableStatement)_stmt).getByte(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
271
272 public short getShort(String parameterName) throws SQLException
273 { checkOpen(); try { return ((CallableStatement)_stmt).getShort(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
274
275 public int getInt(String parameterName) throws SQLException
276 { checkOpen(); try { return ((CallableStatement)_stmt).getInt(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
277
278 public long getLong(String parameterName) throws SQLException
279 { checkOpen(); try { return ((CallableStatement)_stmt).getLong(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
280
281 public float getFloat(String parameterName) throws SQLException
282 { checkOpen(); try { return ((CallableStatement)_stmt).getFloat(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
283
284 public double getDouble(String parameterName) throws SQLException
285 { checkOpen(); try { return ((CallableStatement)_stmt).getDouble(parameterName); } catch (SQLException e) { handleException(e); return 0; } }
286
287 public byte[] getBytes(String parameterName) throws SQLException
288 { checkOpen(); try { return ((CallableStatement)_stmt).getBytes(parameterName); } catch (SQLException e) { handleException(e); return null; } }
289
290 public Date getDate(String parameterName) throws SQLException
291 { checkOpen(); try { return ((CallableStatement)_stmt).getDate(parameterName); } catch (SQLException e) { handleException(e); return null; } }
292
293 public Time getTime(String parameterName) throws SQLException
294 { checkOpen(); try { return ((CallableStatement)_stmt).getTime(parameterName); } catch (SQLException e) { handleException(e); return null; } }
295
296 public Timestamp getTimestamp(String parameterName) throws SQLException
297 { checkOpen(); try { return ((CallableStatement)_stmt).getTimestamp(parameterName); } catch (SQLException e) { handleException(e); return null; } }
298
299 public Object getObject(String parameterName) throws SQLException
300 { checkOpen(); try { return ((CallableStatement)_stmt).getObject(parameterName); } catch (SQLException e) { handleException(e); return null; } }
301
302 public BigDecimal getBigDecimal(String parameterName) throws SQLException
303 { checkOpen(); try { return ((CallableStatement)_stmt).getBigDecimal(parameterName); } catch (SQLException e) { handleException(e); return null; } }
304
305 public Object getObject(String parameterName, Map map) throws SQLException
306 { checkOpen(); try { return ((CallableStatement)_stmt).getObject(parameterName, map); } catch (SQLException e) { handleException(e); return null; } }
307
308 public Ref getRef(String parameterName) throws SQLException
309 { checkOpen(); try { return ((CallableStatement)_stmt).getRef(parameterName); } catch (SQLException e) { handleException(e); return null; } }
310
311 public Blob getBlob(String parameterName) throws SQLException
312 { checkOpen(); try { return ((CallableStatement)_stmt).getBlob(parameterName); } catch (SQLException e) { handleException(e); return null; } }
313
314 public Clob getClob(String parameterName) throws SQLException
315 { checkOpen(); try { return ((CallableStatement)_stmt).getClob(parameterName); } catch (SQLException e) { handleException(e); return null; } }
316
317 public Array getArray(String parameterName) throws SQLException
318 { checkOpen(); try { return ((CallableStatement)_stmt).getArray(parameterName); } catch (SQLException e) { handleException(e); return null; } }
319
320 public Date getDate(String parameterName, Calendar cal) throws SQLException
321 { checkOpen(); try { return ((CallableStatement)_stmt).getDate(parameterName, cal); } catch (SQLException e) { handleException(e); return null; } }
322
323 public Time getTime(String parameterName, Calendar cal) throws SQLException
324 { checkOpen(); try { return ((CallableStatement)_stmt).getTime(parameterName, cal); } catch (SQLException e) { handleException(e); return null; } }
325
326 public Timestamp getTimestamp(String parameterName, Calendar cal) throws SQLException
327 { checkOpen(); try { return ((CallableStatement)_stmt).getTimestamp(parameterName, cal); } catch (SQLException e) { handleException(e); return null; } }
328
329 public URL getURL(String parameterName) throws SQLException
330 { checkOpen(); try { return ((CallableStatement)_stmt).getURL(parameterName); } catch (SQLException e) { handleException(e); return null; } }
331
332 /* JDBC_4_ANT_KEY_BEGIN */
333
334 public RowId getRowId(int parameterIndex) throws SQLException {
335 checkOpen();
336 try {
337 return ((CallableStatement)_stmt).getRowId(parameterIndex);
338 }
339 catch (SQLException e) {
340 handleException(e);
341 return null;
342 }
343 }
344
345 public RowId getRowId(String parameterName) throws SQLException {
346 checkOpen();
347 try {
348 return ((CallableStatement)_stmt).getRowId(parameterName);
349 }
350 catch (SQLException e) {
351 handleException(e);
352 return null;
353 }
354 }
355
356 public void setRowId(String parameterName, RowId value) throws SQLException {
357 checkOpen();
358 try {
359 ((CallableStatement)_stmt).setRowId(parameterName, value);
360 }
361 catch (SQLException e) {
362 handleException(e);
363 }
364 }
365
366 public void setNString(String parameterName, String value) throws SQLException {
367 checkOpen();
368 try {
369 ((CallableStatement)_stmt).setNString(parameterName, value);
370 }
371 catch (SQLException e) {
372 handleException(e);
373 }
374 }
375
376 public void setNCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
377 checkOpen();
378 try {
379 ((CallableStatement)_stmt).setNCharacterStream(parameterName, reader, length);
380 }
381 catch (SQLException e) {
382 handleException(e);
383 }
384 }
385
386 public void setNClob(String parameterName, NClob value) throws SQLException {
387 checkOpen();
388 try {
389 ((CallableStatement)_stmt).setNClob(parameterName, value);
390 }
391 catch (SQLException e) {
392 handleException(e);
393 }
394 }
395
396 public void setClob(String parameterName, Reader reader, long length) throws SQLException {
397 checkOpen();
398 try {
399 ((CallableStatement)_stmt).setClob(parameterName, reader, length);
400 }
401 catch (SQLException e) {
402 handleException(e);
403 }
404 }
405
406 public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException {
407 checkOpen();
408 try {
409 ((CallableStatement)_stmt).setBlob(parameterName, inputStream, length);
410 }
411 catch (SQLException e) {
412 handleException(e);
413 }
414 }
415
416 public void setNClob(String parameterName, Reader reader, long length) throws SQLException {
417 checkOpen();
418 try {
419 ((CallableStatement)_stmt).setNClob(parameterName, reader, length);
420 }
421 catch (SQLException e) {
422 handleException(e);
423 }
424 }
425
426 public NClob getNClob(int parameterIndex) throws SQLException {
427 checkOpen();
428 try {
429 return ((CallableStatement)_stmt).getNClob(parameterIndex);
430 }
431 catch (SQLException e) {
432 handleException(e);
433 return null;
434 }
435 }
436
437 public NClob getNClob(String parameterName) throws SQLException {
438 checkOpen();
439 try {
440 return ((CallableStatement)_stmt).getNClob(parameterName);
441 }
442 catch (SQLException e) {
443 handleException(e);
444 return null;
445 }
446 }
447
448 public void setSQLXML(String parameterName, SQLXML value) throws SQLException {
449 checkOpen();
450 try {
451 ((CallableStatement)_stmt).setSQLXML(parameterName, value);
452 }
453 catch (SQLException e) {
454 handleException(e);
455 }
456 }
457
458 public SQLXML getSQLXML(int parameterIndex) throws SQLException {
459 checkOpen();
460 try {
461 return ((CallableStatement)_stmt).getSQLXML(parameterIndex);
462 }
463 catch (SQLException e) {
464 handleException(e);
465 return null;
466 }
467 }
468
469 public SQLXML getSQLXML(String parameterName) throws SQLException {
470 checkOpen();
471 try {
472 return ((CallableStatement)_stmt).getSQLXML(parameterName);
473 }
474 catch (SQLException e) {
475 handleException(e);
476 return null;
477 }
478 }
479
480 public String getNString(int parameterIndex) throws SQLException {
481 checkOpen();
482 try {
483 return ((CallableStatement)_stmt).getNString(parameterIndex);
484 }
485 catch (SQLException e) {
486 handleException(e);
487 return null;
488 }
489 }
490
491 public String getNString(String parameterName) throws SQLException {
492 checkOpen();
493 try {
494 return ((CallableStatement)_stmt).getNString(parameterName);
495 }
496 catch (SQLException e) {
497 handleException(e);
498 return null;
499 }
500 }
501
502 public Reader getNCharacterStream(int parameterIndex) throws SQLException {
503 checkOpen();
504 try {
505 return ((CallableStatement)_stmt).getNCharacterStream(parameterIndex);
506 }
507 catch (SQLException e) {
508 handleException(e);
509 return null;
510 }
511 }
512
513 public Reader getNCharacterStream(String parameterName) throws SQLException {
514 checkOpen();
515 try {
516 return ((CallableStatement)_stmt).getNCharacterStream(parameterName);
517 }
518 catch (SQLException e) {
519 handleException(e);
520 return null;
521 }
522 }
523
524 public Reader getCharacterStream(int parameterIndex) throws SQLException {
525 checkOpen();
526 try {
527 return ((CallableStatement)_stmt).getCharacterStream(parameterIndex);
528 }
529 catch (SQLException e) {
530 handleException(e);
531 return null;
532 }
533 }
534
535 public Reader getCharacterStream(String parameterName) throws SQLException {
536 checkOpen();
537 try {
538 return ((CallableStatement)_stmt).getCharacterStream(parameterName);
539 }
540 catch (SQLException e) {
541 handleException(e);
542 return null;
543 }
544 }
545
546 public void setBlob(String parameterName, Blob blob) throws SQLException {
547 checkOpen();
548 try {
549 ((CallableStatement)_stmt).setBlob(parameterName, blob);
550 }
551 catch (SQLException e) {
552 handleException(e);
553 }
554 }
555
556 public void setClob(String parameterName, Clob clob) throws SQLException {
557 checkOpen();
558 try {
559 ((CallableStatement)_stmt).setClob(parameterName, clob);
560 }
561 catch (SQLException e) {
562 handleException(e);
563 }
564 }
565
566 public void setAsciiStream(String parameterName, InputStream inputStream, long length) throws SQLException {
567 checkOpen();
568 try {
569 ((CallableStatement)_stmt).setAsciiStream(parameterName, inputStream, length);
570 }
571 catch (SQLException e) {
572 handleException(e);
573 }
574 }
575
576 public void setBinaryStream(String parameterName, InputStream inputStream, long length) throws SQLException {
577 checkOpen();
578 try {
579 ((CallableStatement)_stmt).setBinaryStream(parameterName, inputStream, length);
580 }
581 catch (SQLException e) {
582 handleException(e);
583 }
584 }
585
586 public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
587 checkOpen();
588 try {
589 ((CallableStatement)_stmt).setCharacterStream(parameterName, reader, length);
590 }
591 catch (SQLException e) {
592 handleException(e);
593 }
594 }
595
596 public void setAsciiStream(String parameterName, InputStream inputStream) throws SQLException {
597 checkOpen();
598 try {
599 ((CallableStatement)_stmt).setAsciiStream(parameterName, inputStream);
600 }
601 catch (SQLException e) {
602 handleException(e);
603 }
604 }
605
606 public void setBinaryStream(String parameterName, InputStream inputStream) throws SQLException {
607 checkOpen();
608 try {
609 ((CallableStatement)_stmt).setBinaryStream(parameterName, inputStream);
610 }
611 catch (SQLException e) {
612 handleException(e);
613 }
614 }
615
616 public void setCharacterStream(String parameterName, Reader reader) throws SQLException {
617 checkOpen();
618 try {
619 ((CallableStatement)_stmt).setCharacterStream(parameterName, reader);
620 }
621 catch (SQLException e) {
622 handleException(e);
623 }
624 }
625
626 public void setNCharacterStream(String parameterName, Reader reader) throws SQLException {
627 checkOpen();
628 try {
629 ((CallableStatement)_stmt).setNCharacterStream(parameterName, reader);
630 }
631 catch (SQLException e) {
632 handleException(e);
633 }
634 }
635
636 public void setClob(String parameterName, Reader reader) throws SQLException {
637 checkOpen();
638 try {
639 ((CallableStatement)_stmt).setClob(parameterName, reader);
640 }
641 catch (SQLException e) {
642 handleException(e);
643 } }
644
645 public void setBlob(String parameterName, InputStream inputStream) throws SQLException {
646 checkOpen();
647 try {
648 ((CallableStatement)_stmt).setBlob(parameterName, inputStream);
649 }
650 catch (SQLException e) {
651 handleException(e);
652 } }
653
654 public void setNClob(String parameterName, Reader reader) throws SQLException {
655 checkOpen();
656 try {
657 ((CallableStatement)_stmt).setNClob(parameterName, reader);
658 }
659 catch (SQLException e) {
660 handleException(e);
661 }
662 }
663 /* JDBC_4_ANT_KEY_END */
664 }