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 */ 017package org.apache.commons.dbcp2; 018 019import java.io.InputStream; 020import java.io.Reader; 021import java.math.BigDecimal; 022import java.net.URL; 023import java.sql.Array; 024import java.sql.Blob; 025import java.sql.CallableStatement; 026import java.sql.Clob; 027import java.sql.Date; 028import java.sql.NClob; 029import java.sql.Ref; 030import java.sql.RowId; 031import java.sql.SQLException; 032import java.sql.SQLType; 033import java.sql.SQLXML; 034import java.sql.Time; 035import java.sql.Timestamp; 036import java.util.Calendar; 037import java.util.Map; 038 039/** 040 * A base delegating implementation of {@link CallableStatement}. 041 * <p> 042 * All of the methods from the {@link CallableStatement} interface simply call the corresponding method on the 043 * "delegate" provided in my constructor. 044 * </p> 045 * <p> 046 * Extends AbandonedTrace to implement Statement tracking and logging of code which created the Statement. Tracking the 047 * Statement ensures that the Connection which created it can close any open Statement's on Connection close. 048 * </p> 049 * 050 * @since 2.0 051 */ 052public class DelegatingCallableStatement extends DelegatingPreparedStatement implements CallableStatement { 053 054 /** 055 * Creates a wrapper for the Statement which traces this Statement to the Connection which created it and the code 056 * which created it. 057 * 058 * @param connection 059 * the {@link DelegatingConnection} that created this statement 060 * @param statement 061 * the {@link CallableStatement} to delegate all calls to 062 */ 063 public DelegatingCallableStatement(final DelegatingConnection<?> connection, final CallableStatement statement) { 064 super(connection, statement); 065 } 066 067 @Override 068 public Array getArray(final int parameterIndex) throws SQLException { 069 checkOpen(); 070 try { 071 return getDelegateCallableStatement().getArray(parameterIndex); 072 } catch (final SQLException e) { 073 handleException(e); 074 return null; 075 } 076 } 077 078 @Override 079 public Array getArray(final String parameterName) throws SQLException { 080 checkOpen(); 081 try { 082 return getDelegateCallableStatement().getArray(parameterName); 083 } catch (final SQLException e) { 084 handleException(e); 085 return null; 086 } 087 } 088 089 @Override 090 public BigDecimal getBigDecimal(final int parameterIndex) throws SQLException { 091 checkOpen(); 092 try { 093 return getDelegateCallableStatement().getBigDecimal(parameterIndex); 094 } catch (final SQLException e) { 095 handleException(e); 096 return null; 097 } 098 } 099 100 /** @deprecated Use {@link #getBigDecimal(int)} or {@link #getBigDecimal(String)} */ 101 @Override 102 @Deprecated 103 public BigDecimal getBigDecimal(final int parameterIndex, final int scale) throws SQLException { 104 checkOpen(); 105 try { 106 return getDelegateCallableStatement().getBigDecimal(parameterIndex, scale); 107 } catch (final SQLException e) { 108 handleException(e); 109 return null; 110 } 111 } 112 113 @Override 114 public BigDecimal getBigDecimal(final String parameterName) throws SQLException { 115 checkOpen(); 116 try { 117 return getDelegateCallableStatement().getBigDecimal(parameterName); 118 } catch (final SQLException e) { 119 handleException(e); 120 return null; 121 } 122 } 123 124 @Override 125 public Blob getBlob(final int parameterIndex) throws SQLException { 126 checkOpen(); 127 try { 128 return getDelegateCallableStatement().getBlob(parameterIndex); 129 } catch (final SQLException e) { 130 handleException(e); 131 return null; 132 } 133 } 134 135 @Override 136 public Blob getBlob(final String parameterName) throws SQLException { 137 checkOpen(); 138 try { 139 return getDelegateCallableStatement().getBlob(parameterName); 140 } catch (final SQLException e) { 141 handleException(e); 142 return null; 143 } 144 } 145 146 @Override 147 public boolean getBoolean(final int parameterIndex) throws SQLException { 148 checkOpen(); 149 try { 150 return getDelegateCallableStatement().getBoolean(parameterIndex); 151 } catch (final SQLException e) { 152 handleException(e); 153 return false; 154 } 155 } 156 157 @Override 158 public boolean getBoolean(final String parameterName) throws SQLException { 159 checkOpen(); 160 try { 161 return getDelegateCallableStatement().getBoolean(parameterName); 162 } catch (final SQLException e) { 163 handleException(e); 164 return false; 165 } 166 } 167 168 @Override 169 public byte getByte(final int parameterIndex) throws SQLException { 170 checkOpen(); 171 try { 172 return getDelegateCallableStatement().getByte(parameterIndex); 173 } catch (final SQLException e) { 174 handleException(e); 175 return 0; 176 } 177 } 178 179 @Override 180 public byte getByte(final String parameterName) throws SQLException { 181 checkOpen(); 182 try { 183 return getDelegateCallableStatement().getByte(parameterName); 184 } catch (final SQLException e) { 185 handleException(e); 186 return 0; 187 } 188 } 189 190 @Override 191 public byte[] getBytes(final int parameterIndex) throws SQLException { 192 checkOpen(); 193 try { 194 return getDelegateCallableStatement().getBytes(parameterIndex); 195 } catch (final SQLException e) { 196 handleException(e); 197 return null; 198 } 199 } 200 201 @Override 202 public byte[] getBytes(final String parameterName) throws SQLException { 203 checkOpen(); 204 try { 205 return getDelegateCallableStatement().getBytes(parameterName); 206 } catch (final SQLException e) { 207 handleException(e); 208 return null; 209 } 210 } 211 212 @Override 213 public Reader getCharacterStream(final int parameterIndex) throws SQLException { 214 checkOpen(); 215 try { 216 return getDelegateCallableStatement().getCharacterStream(parameterIndex); 217 } catch (final SQLException e) { 218 handleException(e); 219 return null; 220 } 221 } 222 223 @Override 224 public Reader getCharacterStream(final String parameterName) throws SQLException { 225 checkOpen(); 226 try { 227 return getDelegateCallableStatement().getCharacterStream(parameterName); 228 } catch (final SQLException e) { 229 handleException(e); 230 return null; 231 } 232 } 233 234 @Override 235 public Clob getClob(final int parameterIndex) throws SQLException { 236 checkOpen(); 237 try { 238 return getDelegateCallableStatement().getClob(parameterIndex); 239 } catch (final SQLException e) { 240 handleException(e); 241 return null; 242 } 243 } 244 245 @Override 246 public Clob getClob(final String parameterName) throws SQLException { 247 checkOpen(); 248 try { 249 return getDelegateCallableStatement().getClob(parameterName); 250 } catch (final SQLException e) { 251 handleException(e); 252 return null; 253 } 254 } 255 256 @Override 257 public Date getDate(final int parameterIndex) throws SQLException { 258 checkOpen(); 259 try { 260 return getDelegateCallableStatement().getDate(parameterIndex); 261 } catch (final SQLException e) { 262 handleException(e); 263 return null; 264 } 265 } 266 267 @Override 268 public Date getDate(final int parameterIndex, final Calendar cal) throws SQLException { 269 checkOpen(); 270 try { 271 return getDelegateCallableStatement().getDate(parameterIndex, cal); 272 } catch (final SQLException e) { 273 handleException(e); 274 return null; 275 } 276 } 277 278 @Override 279 public Date getDate(final String parameterName) throws SQLException { 280 checkOpen(); 281 try { 282 return getDelegateCallableStatement().getDate(parameterName); 283 } catch (final SQLException e) { 284 handleException(e); 285 return null; 286 } 287 } 288 289 @Override 290 public Date getDate(final String parameterName, final Calendar cal) throws SQLException { 291 checkOpen(); 292 try { 293 return getDelegateCallableStatement().getDate(parameterName, cal); 294 } catch (final SQLException e) { 295 handleException(e); 296 return null; 297 } 298 } 299 300 private CallableStatement getDelegateCallableStatement() { 301 return (CallableStatement) getDelegate(); 302 } 303 304 @Override 305 public double getDouble(final int parameterIndex) throws SQLException { 306 checkOpen(); 307 try { 308 return getDelegateCallableStatement().getDouble(parameterIndex); 309 } catch (final SQLException e) { 310 handleException(e); 311 return 0; 312 } 313 } 314 315 @Override 316 public double getDouble(final String parameterName) throws SQLException { 317 checkOpen(); 318 try { 319 return getDelegateCallableStatement().getDouble(parameterName); 320 } catch (final SQLException e) { 321 handleException(e); 322 return 0; 323 } 324 } 325 326 @Override 327 public float getFloat(final int parameterIndex) throws SQLException { 328 checkOpen(); 329 try { 330 return getDelegateCallableStatement().getFloat(parameterIndex); 331 } catch (final SQLException e) { 332 handleException(e); 333 return 0; 334 } 335 } 336 337 @Override 338 public float getFloat(final String parameterName) throws SQLException { 339 checkOpen(); 340 try { 341 return getDelegateCallableStatement().getFloat(parameterName); 342 } catch (final SQLException e) { 343 handleException(e); 344 return 0; 345 } 346 } 347 348 @Override 349 public int getInt(final int parameterIndex) throws SQLException { 350 checkOpen(); 351 try { 352 return getDelegateCallableStatement().getInt(parameterIndex); 353 } catch (final SQLException e) { 354 handleException(e); 355 return 0; 356 } 357 } 358 359 @Override 360 public int getInt(final String parameterName) throws SQLException { 361 checkOpen(); 362 try { 363 return getDelegateCallableStatement().getInt(parameterName); 364 } catch (final SQLException e) { 365 handleException(e); 366 return 0; 367 } 368 } 369 370 @Override 371 public long getLong(final int parameterIndex) throws SQLException { 372 checkOpen(); 373 try { 374 return getDelegateCallableStatement().getLong(parameterIndex); 375 } catch (final SQLException e) { 376 handleException(e); 377 return 0; 378 } 379 } 380 381 @Override 382 public long getLong(final String parameterName) throws SQLException { 383 checkOpen(); 384 try { 385 return getDelegateCallableStatement().getLong(parameterName); 386 } catch (final SQLException e) { 387 handleException(e); 388 return 0; 389 } 390 } 391 392 @Override 393 public Reader getNCharacterStream(final int parameterIndex) throws SQLException { 394 checkOpen(); 395 try { 396 return getDelegateCallableStatement().getNCharacterStream(parameterIndex); 397 } catch (final SQLException e) { 398 handleException(e); 399 return null; 400 } 401 } 402 403 @Override 404 public Reader getNCharacterStream(final String parameterName) throws SQLException { 405 checkOpen(); 406 try { 407 return getDelegateCallableStatement().getNCharacterStream(parameterName); 408 } catch (final SQLException e) { 409 handleException(e); 410 return null; 411 } 412 } 413 414 @Override 415 public NClob getNClob(final int parameterIndex) throws SQLException { 416 checkOpen(); 417 try { 418 return getDelegateCallableStatement().getNClob(parameterIndex); 419 } catch (final SQLException e) { 420 handleException(e); 421 return null; 422 } 423 } 424 425 @Override 426 public NClob getNClob(final String parameterName) throws SQLException { 427 checkOpen(); 428 try { 429 return getDelegateCallableStatement().getNClob(parameterName); 430 } catch (final SQLException e) { 431 handleException(e); 432 return null; 433 } 434 } 435 436 @Override 437 public String getNString(final int parameterIndex) throws SQLException { 438 checkOpen(); 439 try { 440 return getDelegateCallableStatement().getNString(parameterIndex); 441 } catch (final SQLException e) { 442 handleException(e); 443 return null; 444 } 445 } 446 447 @Override 448 public String getNString(final String parameterName) throws SQLException { 449 checkOpen(); 450 try { 451 return getDelegateCallableStatement().getNString(parameterName); 452 } catch (final SQLException e) { 453 handleException(e); 454 return null; 455 } 456 } 457 458 @Override 459 public Object getObject(final int parameterIndex) throws SQLException { 460 checkOpen(); 461 try { 462 return getDelegateCallableStatement().getObject(parameterIndex); 463 } catch (final SQLException e) { 464 handleException(e); 465 return null; 466 } 467 } 468 469 @Override 470 public <T> T getObject(final int parameterIndex, final Class<T> type) throws SQLException { 471 checkOpen(); 472 try { 473 return getDelegateCallableStatement().getObject(parameterIndex, type); 474 } catch (final SQLException e) { 475 handleException(e); 476 return null; 477 } 478 } 479 480 @Override 481 public Object getObject(final int i, final Map<String, Class<?>> map) throws SQLException { 482 checkOpen(); 483 try { 484 return getDelegateCallableStatement().getObject(i, map); 485 } catch (final SQLException e) { 486 handleException(e); 487 return null; 488 } 489 } 490 491 @Override 492 public Object getObject(final String parameterName) throws SQLException { 493 checkOpen(); 494 try { 495 return getDelegateCallableStatement().getObject(parameterName); 496 } catch (final SQLException e) { 497 handleException(e); 498 return null; 499 } 500 } 501 502 @Override 503 public <T> T getObject(final String parameterName, final Class<T> type) throws SQLException { 504 checkOpen(); 505 try { 506 return getDelegateCallableStatement().getObject(parameterName, type); 507 } catch (final SQLException e) { 508 handleException(e); 509 return null; 510 } 511 } 512 513 @Override 514 public Object getObject(final String parameterName, final Map<String, Class<?>> map) throws SQLException { 515 checkOpen(); 516 try { 517 return getDelegateCallableStatement().getObject(parameterName, map); 518 } catch (final SQLException e) { 519 handleException(e); 520 return null; 521 } 522 } 523 524 @Override 525 public Ref getRef(final int parameterIndex) throws SQLException { 526 checkOpen(); 527 try { 528 return getDelegateCallableStatement().getRef(parameterIndex); 529 } catch (final SQLException e) { 530 handleException(e); 531 return null; 532 } 533 } 534 535 @Override 536 public Ref getRef(final String parameterName) throws SQLException { 537 checkOpen(); 538 try { 539 return getDelegateCallableStatement().getRef(parameterName); 540 } catch (final SQLException e) { 541 handleException(e); 542 return null; 543 } 544 } 545 546 @Override 547 public RowId getRowId(final int parameterIndex) throws SQLException { 548 checkOpen(); 549 try { 550 return getDelegateCallableStatement().getRowId(parameterIndex); 551 } catch (final SQLException e) { 552 handleException(e); 553 return null; 554 } 555 } 556 557 @Override 558 public RowId getRowId(final String parameterName) throws SQLException { 559 checkOpen(); 560 try { 561 return getDelegateCallableStatement().getRowId(parameterName); 562 } catch (final SQLException e) { 563 handleException(e); 564 return null; 565 } 566 } 567 568 @Override 569 public short getShort(final int parameterIndex) throws SQLException { 570 checkOpen(); 571 try { 572 return getDelegateCallableStatement().getShort(parameterIndex); 573 } catch (final SQLException e) { 574 handleException(e); 575 return 0; 576 } 577 } 578 579 @Override 580 public short getShort(final String parameterName) throws SQLException { 581 checkOpen(); 582 try { 583 return getDelegateCallableStatement().getShort(parameterName); 584 } catch (final SQLException e) { 585 handleException(e); 586 return 0; 587 } 588 } 589 590 @Override 591 public SQLXML getSQLXML(final int parameterIndex) throws SQLException { 592 checkOpen(); 593 try { 594 return getDelegateCallableStatement().getSQLXML(parameterIndex); 595 } catch (final SQLException e) { 596 handleException(e); 597 return null; 598 } 599 } 600 601 @Override 602 public SQLXML getSQLXML(final String parameterName) throws SQLException { 603 checkOpen(); 604 try { 605 return getDelegateCallableStatement().getSQLXML(parameterName); 606 } catch (final SQLException e) { 607 handleException(e); 608 return null; 609 } 610 } 611 612 @Override 613 public String getString(final int parameterIndex) throws SQLException { 614 checkOpen(); 615 try { 616 return getDelegateCallableStatement().getString(parameterIndex); 617 } catch (final SQLException e) { 618 handleException(e); 619 return null; 620 } 621 } 622 623 @Override 624 public String getString(final String parameterName) throws SQLException { 625 checkOpen(); 626 try { 627 return getDelegateCallableStatement().getString(parameterName); 628 } catch (final SQLException e) { 629 handleException(e); 630 return null; 631 } 632 } 633 634 @Override 635 public Time getTime(final int parameterIndex) throws SQLException { 636 checkOpen(); 637 try { 638 return getDelegateCallableStatement().getTime(parameterIndex); 639 } catch (final SQLException e) { 640 handleException(e); 641 return null; 642 } 643 } 644 645 @Override 646 public Time getTime(final int parameterIndex, final Calendar cal) throws SQLException { 647 checkOpen(); 648 try { 649 return getDelegateCallableStatement().getTime(parameterIndex, cal); 650 } catch (final SQLException e) { 651 handleException(e); 652 return null; 653 } 654 } 655 656 @Override 657 public Time getTime(final String parameterName) throws SQLException { 658 checkOpen(); 659 try { 660 return getDelegateCallableStatement().getTime(parameterName); 661 } catch (final SQLException e) { 662 handleException(e); 663 return null; 664 } 665 } 666 667 @Override 668 public Time getTime(final String parameterName, final Calendar cal) throws SQLException { 669 checkOpen(); 670 try { 671 return getDelegateCallableStatement().getTime(parameterName, cal); 672 } catch (final SQLException e) { 673 handleException(e); 674 return null; 675 } 676 } 677 678 @Override 679 public Timestamp getTimestamp(final int parameterIndex) throws SQLException { 680 checkOpen(); 681 try { 682 return getDelegateCallableStatement().getTimestamp(parameterIndex); 683 } catch (final SQLException e) { 684 handleException(e); 685 return null; 686 } 687 } 688 689 @Override 690 public Timestamp getTimestamp(final int parameterIndex, final Calendar cal) throws SQLException { 691 checkOpen(); 692 try { 693 return getDelegateCallableStatement().getTimestamp(parameterIndex, cal); 694 } catch (final SQLException e) { 695 handleException(e); 696 return null; 697 } 698 } 699 700 @Override 701 public Timestamp getTimestamp(final String parameterName) throws SQLException { 702 checkOpen(); 703 try { 704 return getDelegateCallableStatement().getTimestamp(parameterName); 705 } catch (final SQLException e) { 706 handleException(e); 707 return null; 708 } 709 } 710 711 @Override 712 public Timestamp getTimestamp(final String parameterName, final Calendar cal) throws SQLException { 713 checkOpen(); 714 try { 715 return getDelegateCallableStatement().getTimestamp(parameterName, cal); 716 } catch (final SQLException e) { 717 handleException(e); 718 return null; 719 } 720 } 721 722 @Override 723 public URL getURL(final int parameterIndex) throws SQLException { 724 checkOpen(); 725 try { 726 return getDelegateCallableStatement().getURL(parameterIndex); 727 } catch (final SQLException e) { 728 handleException(e); 729 return null; 730 } 731 } 732 733 @Override 734 public URL getURL(final String parameterName) throws SQLException { 735 checkOpen(); 736 try { 737 return getDelegateCallableStatement().getURL(parameterName); 738 } catch (final SQLException e) { 739 handleException(e); 740 return null; 741 } 742 } 743 744 @Override 745 public void registerOutParameter(final int parameterIndex, final int sqlType) throws SQLException { 746 checkOpen(); 747 try { 748 getDelegateCallableStatement().registerOutParameter(parameterIndex, sqlType); 749 } catch (final SQLException e) { 750 handleException(e); 751 } 752 } 753 754 @Override 755 public void registerOutParameter(final int parameterIndex, final int sqlType, final int scale) throws SQLException { 756 checkOpen(); 757 try { 758 getDelegateCallableStatement().registerOutParameter(parameterIndex, sqlType, scale); 759 } catch (final SQLException e) { 760 handleException(e); 761 } 762 } 763 764 @Override 765 public void registerOutParameter(final int paramIndex, final int sqlType, final String typeName) 766 throws SQLException { 767 checkOpen(); 768 try { 769 getDelegateCallableStatement().registerOutParameter(paramIndex, sqlType, typeName); 770 } catch (final SQLException e) { 771 handleException(e); 772 } 773 } 774 775 /** 776 * @since 2.5.0 777 */ 778 @Override 779 public void registerOutParameter(final int parameterIndex, final SQLType sqlType) throws SQLException { 780 checkOpen(); 781 try { 782 getDelegateCallableStatement().registerOutParameter(parameterIndex, sqlType); 783 } catch (final SQLException e) { 784 handleException(e); 785 } 786 } 787 788 /** 789 * @since 2.5.0 790 */ 791 @Override 792 public void registerOutParameter(final int parameterIndex, final SQLType sqlType, final int scale) 793 throws SQLException { 794 checkOpen(); 795 try { 796 getDelegateCallableStatement().registerOutParameter(parameterIndex, sqlType, scale); 797 } catch (final SQLException e) { 798 handleException(e); 799 } 800 } 801 802 /** 803 * @since 2.5.0 804 */ 805 @Override 806 public void registerOutParameter(final int parameterIndex, final SQLType sqlType, final String typeName) 807 throws SQLException { 808 checkOpen(); 809 try { 810 getDelegateCallableStatement().registerOutParameter(parameterIndex, sqlType, typeName); 811 } catch (final SQLException e) { 812 handleException(e); 813 } 814 } 815 816 @Override 817 public void registerOutParameter(final String parameterName, final int sqlType) throws SQLException { 818 checkOpen(); 819 try { 820 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType); 821 } catch (final SQLException e) { 822 handleException(e); 823 } 824 } 825 826 @Override 827 public void registerOutParameter(final String parameterName, final int sqlType, final int scale) 828 throws SQLException { 829 checkOpen(); 830 try { 831 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType, scale); 832 } catch (final SQLException e) { 833 handleException(e); 834 } 835 } 836 837 @Override 838 public void registerOutParameter(final String parameterName, final int sqlType, final String typeName) 839 throws SQLException { 840 checkOpen(); 841 try { 842 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType, typeName); 843 } catch (final SQLException e) { 844 handleException(e); 845 } 846 } 847 848 /** 849 * @since 2.5.0 850 */ 851 @Override 852 public void registerOutParameter(final String parameterName, final SQLType sqlType) throws SQLException { 853 checkOpen(); 854 try { 855 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType); 856 } catch (final SQLException e) { 857 handleException(e); 858 } 859 } 860 861 /** 862 * @since 2.5.0 863 */ 864 @Override 865 public void registerOutParameter(final String parameterName, final SQLType sqlType, final int scale) 866 throws SQLException { 867 checkOpen(); 868 try { 869 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType, scale); 870 } catch (final SQLException e) { 871 handleException(e); 872 } 873 } 874 875 /** 876 * @since 2.5.0 877 */ 878 @Override 879 public void registerOutParameter(final String parameterName, final SQLType sqlType, final String typeName) 880 throws SQLException { 881 checkOpen(); 882 try { 883 getDelegateCallableStatement().registerOutParameter(parameterName, sqlType, typeName); 884 } catch (final SQLException e) { 885 handleException(e); 886 } 887 } 888 889 @Override 890 public void setAsciiStream(final String parameterName, final InputStream inputStream) throws SQLException { 891 checkOpen(); 892 try { 893 getDelegateCallableStatement().setAsciiStream(parameterName, inputStream); 894 } catch (final SQLException e) { 895 handleException(e); 896 } 897 } 898 899 @Override 900 public void setAsciiStream(final String parameterName, final InputStream x, final int length) throws SQLException { 901 checkOpen(); 902 try { 903 getDelegateCallableStatement().setAsciiStream(parameterName, x, length); 904 } catch (final SQLException e) { 905 handleException(e); 906 } 907 } 908 909 @Override 910 public void setAsciiStream(final String parameterName, final InputStream inputStream, final long length) 911 throws SQLException { 912 checkOpen(); 913 try { 914 getDelegateCallableStatement().setAsciiStream(parameterName, inputStream, length); 915 } catch (final SQLException e) { 916 handleException(e); 917 } 918 } 919 920 @Override 921 public void setBigDecimal(final String parameterName, final BigDecimal x) throws SQLException { 922 checkOpen(); 923 try { 924 getDelegateCallableStatement().setBigDecimal(parameterName, x); 925 } catch (final SQLException e) { 926 handleException(e); 927 } 928 } 929 930 @Override 931 public void setBinaryStream(final String parameterName, final InputStream inputStream) throws SQLException { 932 checkOpen(); 933 try { 934 getDelegateCallableStatement().setBinaryStream(parameterName, inputStream); 935 } catch (final SQLException e) { 936 handleException(e); 937 } 938 } 939 940 @Override 941 public void setBinaryStream(final String parameterName, final InputStream x, final int length) throws SQLException { 942 checkOpen(); 943 try { 944 getDelegateCallableStatement().setBinaryStream(parameterName, x, length); 945 } catch (final SQLException e) { 946 handleException(e); 947 } 948 } 949 950 @Override 951 public void setBinaryStream(final String parameterName, final InputStream inputStream, final long length) 952 throws SQLException { 953 checkOpen(); 954 try { 955 getDelegateCallableStatement().setBinaryStream(parameterName, inputStream, length); 956 } catch (final SQLException e) { 957 handleException(e); 958 } 959 } 960 961 @Override 962 public void setBlob(final String parameterName, final Blob blob) throws SQLException { 963 checkOpen(); 964 try { 965 getDelegateCallableStatement().setBlob(parameterName, blob); 966 } catch (final SQLException e) { 967 handleException(e); 968 } 969 } 970 971 @Override 972 public void setBlob(final String parameterName, final InputStream inputStream) throws SQLException { 973 checkOpen(); 974 try { 975 getDelegateCallableStatement().setBlob(parameterName, inputStream); 976 } catch (final SQLException e) { 977 handleException(e); 978 } 979 } 980 981 @Override 982 public void setBlob(final String parameterName, final InputStream inputStream, final long length) 983 throws SQLException { 984 checkOpen(); 985 try { 986 getDelegateCallableStatement().setBlob(parameterName, inputStream, length); 987 } catch (final SQLException e) { 988 handleException(e); 989 } 990 } 991 992 @Override 993 public void setBoolean(final String parameterName, final boolean x) throws SQLException { 994 checkOpen(); 995 try { 996 getDelegateCallableStatement().setBoolean(parameterName, x); 997 } catch (final SQLException e) { 998 handleException(e); 999 } 1000 } 1001 1002 @Override 1003 public void setByte(final String parameterName, final byte x) throws SQLException { 1004 checkOpen(); 1005 try { 1006 getDelegateCallableStatement().setByte(parameterName, x); 1007 } catch (final SQLException e) { 1008 handleException(e); 1009 } 1010 } 1011 1012 @Override 1013 public void setBytes(final String parameterName, final byte[] x) throws SQLException { 1014 checkOpen(); 1015 try { 1016 getDelegateCallableStatement().setBytes(parameterName, x); 1017 } catch (final SQLException e) { 1018 handleException(e); 1019 } 1020 } 1021 1022 @Override 1023 public void setCharacterStream(final String parameterName, final Reader reader) throws SQLException { 1024 checkOpen(); 1025 try { 1026 getDelegateCallableStatement().setCharacterStream(parameterName, reader); 1027 } catch (final SQLException e) { 1028 handleException(e); 1029 } 1030 } 1031 1032 @Override 1033 public void setCharacterStream(final String parameterName, final Reader reader, final int length) 1034 throws SQLException { 1035 checkOpen(); 1036 getDelegateCallableStatement().setCharacterStream(parameterName, reader, length); 1037 } 1038 1039 @Override 1040 public void setCharacterStream(final String parameterName, final Reader reader, final long length) 1041 throws SQLException { 1042 checkOpen(); 1043 try { 1044 getDelegateCallableStatement().setCharacterStream(parameterName, reader, length); 1045 } catch (final SQLException e) { 1046 handleException(e); 1047 } 1048 } 1049 1050 @Override 1051 public void setClob(final String parameterName, final Clob clob) throws SQLException { 1052 checkOpen(); 1053 try { 1054 getDelegateCallableStatement().setClob(parameterName, clob); 1055 } catch (final SQLException e) { 1056 handleException(e); 1057 } 1058 } 1059 1060 @Override 1061 public void setClob(final String parameterName, final Reader reader) throws SQLException { 1062 checkOpen(); 1063 try { 1064 getDelegateCallableStatement().setClob(parameterName, reader); 1065 } catch (final SQLException e) { 1066 handleException(e); 1067 } 1068 } 1069 1070 @Override 1071 public void setClob(final String parameterName, final Reader reader, final long length) throws SQLException { 1072 checkOpen(); 1073 try { 1074 getDelegateCallableStatement().setClob(parameterName, reader, length); 1075 } catch (final SQLException e) { 1076 handleException(e); 1077 } 1078 } 1079 1080 @Override 1081 public void setDate(final String parameterName, final Date x) throws SQLException { 1082 checkOpen(); 1083 try { 1084 getDelegateCallableStatement().setDate(parameterName, x); 1085 } catch (final SQLException e) { 1086 handleException(e); 1087 } 1088 } 1089 1090 @Override 1091 public void setDate(final String parameterName, final Date x, final Calendar cal) throws SQLException { 1092 checkOpen(); 1093 try { 1094 getDelegateCallableStatement().setDate(parameterName, x, cal); 1095 } catch (final SQLException e) { 1096 handleException(e); 1097 } 1098 } 1099 1100 @Override 1101 public void setDouble(final String parameterName, final double x) throws SQLException { 1102 checkOpen(); 1103 try { 1104 getDelegateCallableStatement().setDouble(parameterName, x); 1105 } catch (final SQLException e) { 1106 handleException(e); 1107 } 1108 } 1109 1110 @Override 1111 public void setFloat(final String parameterName, final float x) throws SQLException { 1112 checkOpen(); 1113 try { 1114 getDelegateCallableStatement().setFloat(parameterName, x); 1115 } catch (final SQLException e) { 1116 handleException(e); 1117 } 1118 } 1119 1120 @Override 1121 public void setInt(final String parameterName, final int x) throws SQLException { 1122 checkOpen(); 1123 try { 1124 getDelegateCallableStatement().setInt(parameterName, x); 1125 } catch (final SQLException e) { 1126 handleException(e); 1127 } 1128 } 1129 1130 @Override 1131 public void setLong(final String parameterName, final long x) throws SQLException { 1132 checkOpen(); 1133 try { 1134 getDelegateCallableStatement().setLong(parameterName, x); 1135 } catch (final SQLException e) { 1136 handleException(e); 1137 } 1138 } 1139 1140 @Override 1141 public void setNCharacterStream(final String parameterName, final Reader reader) throws SQLException { 1142 checkOpen(); 1143 try { 1144 getDelegateCallableStatement().setNCharacterStream(parameterName, reader); 1145 } catch (final SQLException e) { 1146 handleException(e); 1147 } 1148 } 1149 1150 @Override 1151 public void setNCharacterStream(final String parameterName, final Reader reader, final long length) 1152 throws SQLException { 1153 checkOpen(); 1154 try { 1155 getDelegateCallableStatement().setNCharacterStream(parameterName, reader, length); 1156 } catch (final SQLException e) { 1157 handleException(e); 1158 } 1159 } 1160 1161 @Override 1162 public void setNClob(final String parameterName, final NClob value) throws SQLException { 1163 checkOpen(); 1164 try { 1165 getDelegateCallableStatement().setNClob(parameterName, value); 1166 } catch (final SQLException e) { 1167 handleException(e); 1168 } 1169 } 1170 1171 @Override 1172 public void setNClob(final String parameterName, final Reader reader) throws SQLException { 1173 checkOpen(); 1174 try { 1175 getDelegateCallableStatement().setNClob(parameterName, reader); 1176 } catch (final SQLException e) { 1177 handleException(e); 1178 } 1179 } 1180 1181 @Override 1182 public void setNClob(final String parameterName, final Reader reader, final long length) throws SQLException { 1183 checkOpen(); 1184 try { 1185 getDelegateCallableStatement().setNClob(parameterName, reader, length); 1186 } catch (final SQLException e) { 1187 handleException(e); 1188 } 1189 } 1190 1191 @Override 1192 public void setNString(final String parameterName, final String value) throws SQLException { 1193 checkOpen(); 1194 try { 1195 getDelegateCallableStatement().setNString(parameterName, value); 1196 } catch (final SQLException e) { 1197 handleException(e); 1198 } 1199 } 1200 1201 @Override 1202 public void setNull(final String parameterName, final int sqlType) throws SQLException { 1203 checkOpen(); 1204 try { 1205 getDelegateCallableStatement().setNull(parameterName, sqlType); 1206 } catch (final SQLException e) { 1207 handleException(e); 1208 } 1209 } 1210 1211 @Override 1212 public void setNull(final String parameterName, final int sqlType, final String typeName) throws SQLException { 1213 checkOpen(); 1214 try { 1215 getDelegateCallableStatement().setNull(parameterName, sqlType, typeName); 1216 } catch (final SQLException e) { 1217 handleException(e); 1218 } 1219 } 1220 1221 @Override 1222 public void setObject(final String parameterName, final Object x) throws SQLException { 1223 checkOpen(); 1224 try { 1225 getDelegateCallableStatement().setObject(parameterName, x); 1226 } catch (final SQLException e) { 1227 handleException(e); 1228 } 1229 } 1230 1231 @Override 1232 public void setObject(final String parameterName, final Object x, final int targetSqlType) throws SQLException { 1233 checkOpen(); 1234 try { 1235 getDelegateCallableStatement().setObject(parameterName, x, targetSqlType); 1236 } catch (final SQLException e) { 1237 handleException(e); 1238 } 1239 } 1240 1241 @Override 1242 public void setObject(final String parameterName, final Object x, final int targetSqlType, final int scale) 1243 throws SQLException { 1244 checkOpen(); 1245 try { 1246 getDelegateCallableStatement().setObject(parameterName, x, targetSqlType, scale); 1247 } catch (final SQLException e) { 1248 handleException(e); 1249 } 1250 } 1251 1252 /** 1253 * @since 2.5.0 1254 */ 1255 @Override 1256 public void setObject(final String parameterName, final Object x, final SQLType targetSqlType) throws SQLException { 1257 checkOpen(); 1258 try { 1259 getDelegateCallableStatement().setObject(parameterName, x, targetSqlType); 1260 } catch (final SQLException e) { 1261 handleException(e); 1262 } 1263 } 1264 1265 /** 1266 * @since 2.5.0 1267 */ 1268 @Override 1269 public void setObject(final String parameterName, final Object x, final SQLType targetSqlType, 1270 final int scaleOrLength) throws SQLException { 1271 checkOpen(); 1272 try { 1273 getDelegateCallableStatement().setObject(parameterName, x, targetSqlType, scaleOrLength); 1274 } catch (final SQLException e) { 1275 handleException(e); 1276 } 1277 } 1278 1279 @Override 1280 public void setRowId(final String parameterName, final RowId value) throws SQLException { 1281 checkOpen(); 1282 try { 1283 getDelegateCallableStatement().setRowId(parameterName, value); 1284 } catch (final SQLException e) { 1285 handleException(e); 1286 } 1287 } 1288 1289 @Override 1290 public void setShort(final String parameterName, final short x) throws SQLException { 1291 checkOpen(); 1292 try { 1293 getDelegateCallableStatement().setShort(parameterName, x); 1294 } catch (final SQLException e) { 1295 handleException(e); 1296 } 1297 } 1298 1299 @Override 1300 public void setSQLXML(final String parameterName, final SQLXML value) throws SQLException { 1301 checkOpen(); 1302 try { 1303 getDelegateCallableStatement().setSQLXML(parameterName, value); 1304 } catch (final SQLException e) { 1305 handleException(e); 1306 } 1307 } 1308 1309 @Override 1310 public void setString(final String parameterName, final String x) throws SQLException { 1311 checkOpen(); 1312 try { 1313 getDelegateCallableStatement().setString(parameterName, x); 1314 } catch (final SQLException e) { 1315 handleException(e); 1316 } 1317 } 1318 1319 @Override 1320 public void setTime(final String parameterName, final Time x) throws SQLException { 1321 checkOpen(); 1322 try { 1323 getDelegateCallableStatement().setTime(parameterName, x); 1324 } catch (final SQLException e) { 1325 handleException(e); 1326 } 1327 } 1328 1329 @Override 1330 public void setTime(final String parameterName, final Time x, final Calendar cal) throws SQLException { 1331 checkOpen(); 1332 try { 1333 getDelegateCallableStatement().setTime(parameterName, x, cal); 1334 } catch (final SQLException e) { 1335 handleException(e); 1336 } 1337 } 1338 1339 @Override 1340 public void setTimestamp(final String parameterName, final Timestamp x) throws SQLException { 1341 checkOpen(); 1342 try { 1343 getDelegateCallableStatement().setTimestamp(parameterName, x); 1344 } catch (final SQLException e) { 1345 handleException(e); 1346 } 1347 } 1348 1349 @Override 1350 public void setTimestamp(final String parameterName, final Timestamp x, final Calendar cal) throws SQLException { 1351 checkOpen(); 1352 try { 1353 getDelegateCallableStatement().setTimestamp(parameterName, x, cal); 1354 } catch (final SQLException e) { 1355 handleException(e); 1356 } 1357 } 1358 1359 @Override 1360 public void setURL(final String parameterName, final URL val) throws SQLException { 1361 checkOpen(); 1362 try { 1363 getDelegateCallableStatement().setURL(parameterName, val); 1364 } catch (final SQLException e) { 1365 handleException(e); 1366 } 1367 } 1368 1369 @Override 1370 public boolean wasNull() throws SQLException { 1371 checkOpen(); 1372 try { 1373 return getDelegateCallableStatement().wasNull(); 1374 } catch (final SQLException e) { 1375 handleException(e); 1376 return false; 1377 } 1378 } 1379 1380}