1 2 3 package com.opensourceconnections.msjdbcproxy; 4 5 import java.io.InputStream; 6 import java.io.Reader; 7 import java.math.BigDecimal; 8 import java.net.URL; 9 import java.sql.Array; 10 import java.sql.Blob; 11 import java.sql.Clob; 12 import java.sql.Date; 13 import java.sql.Ref; 14 import java.sql.ResultSet; 15 import java.sql.ResultSetMetaData; 16 import java.sql.SQLException; 17 import java.sql.SQLWarning; 18 import java.sql.Statement; 19 import java.sql.Time; 20 import java.sql.Timestamp; 21 import java.util.Calendar; 22 import java.util.Map; 23 24 public class ResultSetProxy implements ResultSet 25 { 26 protected final Statement _statement; 27 protected final ResultSet _resultSet; 28 protected final ColumnSet _columns; 29 30 public ResultSetProxy(Statement statement, ResultSet resultSet) throws SQLException 31 { 32 _statement = statement; 33 _resultSet = resultSet; 34 _columns = new ColumnSet(_resultSet); 35 } 36 37 public boolean next() throws SQLException 38 { 39 return _columns.load(_resultSet.next()); 40 } 41 42 public void close() throws SQLException 43 { 44 _resultSet.close(); 45 } 46 47 public boolean wasNull() throws SQLException 48 { 49 return _columns.wasNull(); 50 } 51 52 public String getString(int columnIndex) throws SQLException 53 { 54 return _columns.getColumn(columnIndex).getString(); 55 } 56 57 public boolean getBoolean(int columnIndex) throws SQLException 58 { 59 return _columns.getColumn(columnIndex).getBoolean(); 60 } 61 62 public byte getByte(int columnIndex) throws SQLException 63 { 64 return _columns.getColumn(columnIndex).getByte(); 65 } 66 67 public short getShort(int columnIndex) throws SQLException 68 { 69 return _columns.getColumn(columnIndex).getShort(); 70 } 71 72 public int getInt(int columnIndex) throws SQLException 73 { 74 return _columns.getColumn(columnIndex).getInt(); 75 } 76 77 public long getLong(int columnIndex) throws SQLException 78 { 79 return _columns.getColumn(columnIndex).getLong(); 80 } 81 82 public float getFloat(int columnIndex) throws SQLException 83 { 84 return _columns.getColumn(columnIndex).getFloat(); 85 } 86 87 public double getDouble(int columnIndex) throws SQLException 88 { 89 return _columns.getColumn(columnIndex).getDouble(); 90 } 91 92 public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException 93 { 94 return _columns.getColumn(columnIndex).getBigDecimal(scale); 95 } 96 97 public byte[] getBytes(int columnIndex) throws SQLException 98 { 99 return _columns.getColumn(columnIndex).getBytes(); 100 } 101 102 public Date getDate(int columnIndex) throws SQLException 103 { 104 return _columns.getColumn(columnIndex).getDate(); 105 } 106 107 public Time getTime(int columnIndex) throws SQLException 108 { 109 return _columns.getColumn(columnIndex).getTime(); 110 } 111 112 public Timestamp getTimestamp(int columnIndex) throws SQLException 113 { 114 return _columns.getColumn(columnIndex).getTimestamp(); 115 } 116 117 public InputStream getAsciiStream(int columnIndex) throws SQLException 118 { 119 return _columns.getColumn(columnIndex).getAsciiStream(); 120 } 121 122 public InputStream getUnicodeStream(int columnIndex) throws SQLException 123 { 124 return _columns.getColumn(columnIndex).getUnicodeStream(); 125 } 126 127 public InputStream getBinaryStream(int columnIndex) throws SQLException 128 { 129 return _columns.getColumn(columnIndex).getBinaryStream(); 130 } 131 132 public String getString(String columnName) throws SQLException 133 { 134 return _columns.getColumn(columnName).getString(); 135 } 136 137 public boolean getBoolean(String columnName) throws SQLException 138 { 139 return _columns.getColumn(columnName).getBoolean(); 140 } 141 142 public byte getByte(String columnName) throws SQLException 143 { 144 return _columns.getColumn(columnName).getByte(); 145 } 146 147 public short getShort(String columnName) throws SQLException 148 { 149 return _columns.getColumn(columnName).getShort(); 150 } 151 152 public int getInt(String columnName) throws SQLException 153 { 154 return _columns.getColumn(columnName).getInt(); 155 } 156 157 public long getLong(String columnName) throws SQLException 158 { 159 return _columns.getColumn(columnName).getLong(); 160 } 161 162 public float getFloat(String columnName) throws SQLException 163 { 164 return _columns.getColumn(columnName).getFloat(); 165 } 166 167 public double getDouble(String columnName) throws SQLException 168 { 169 return _columns.getColumn(columnName).getDouble(); 170 } 171 172 public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException 173 { 174 return _columns.getColumn(columnName).getBigDecimal(scale); 175 } 176 177 public byte[] getBytes(String columnName) throws SQLException 178 { 179 return _columns.getColumn(columnName).getBytes(); 180 } 181 182 public Date getDate(String columnName) throws SQLException 183 { 184 return _columns.getColumn(columnName).getDate(); 185 } 186 187 public Time getTime(String columnName) throws SQLException 188 { 189 return _columns.getColumn(columnName).getTime(); 190 } 191 192 public Timestamp getTimestamp(String columnName) throws SQLException 193 { 194 return _columns.getColumn(columnName).getTimestamp(); 195 } 196 197 public InputStream getAsciiStream(String columnName) throws SQLException 198 { 199 return _columns.getColumn(columnName).getAsciiStream(); 200 } 201 202 public InputStream getUnicodeStream(String columnName) throws SQLException 203 { 204 return _columns.getColumn(columnName).getUnicodeStream(); 205 } 206 207 public InputStream getBinaryStream(String columnName) throws SQLException 208 { 209 return _columns.getColumn(columnName).getBinaryStream(); 210 } 211 212 public SQLWarning getWarnings() throws SQLException 213 { 214 return _resultSet.getWarnings(); 215 } 216 217 public void clearWarnings() throws SQLException 218 { 219 _resultSet.clearWarnings(); 220 } 221 222 public String getCursorName() throws SQLException 223 { 224 return _resultSet.getCursorName(); 225 } 226 227 public ResultSetMetaData getMetaData() throws SQLException 228 { 229 return _resultSet.getMetaData(); 230 } 231 232 public Object getObject(int columnIndex) throws SQLException 233 { 234 return _columns.getColumn(columnIndex).getObject(); 235 } 236 237 public Object getObject(String columnName) throws SQLException 238 { 239 return _columns.getColumn(columnName).getObject(); 240 } 241 242 public int findColumn(String columnName) throws SQLException 243 { 244 return _columns.findColumn(columnName); 245 } 246 247 public Reader getCharacterStream(int columnIndex) throws SQLException 248 { 249 return _columns.getColumn(columnIndex).getCharacterStream(); 250 } 251 252 public Reader getCharacterStream(String columnName) throws SQLException 253 { 254 return _columns.getColumn(columnName).getCharacterStream(); 255 } 256 257 public BigDecimal getBigDecimal(int columnIndex) throws SQLException 258 { 259 return _columns.getColumn(columnIndex).getBigDecimal(); 260 } 261 262 public BigDecimal getBigDecimal(String columnName) throws SQLException 263 { 264 return _columns.getColumn(columnName).getBigDecimal(); 265 } 266 267 public boolean isBeforeFirst() throws SQLException 268 { 269 return _resultSet.isBeforeFirst(); 270 } 271 272 public boolean isAfterLast() throws SQLException 273 { 274 return _resultSet.isAfterLast(); 275 } 276 277 public boolean isFirst() throws SQLException 278 { 279 return _resultSet.isFirst(); 280 } 281 282 public boolean isLast() throws SQLException 283 { 284 return _resultSet.isLast(); 285 } 286 287 public void beforeFirst() throws SQLException 288 { 289 _resultSet.beforeFirst(); 290 } 291 292 public void afterLast() throws SQLException 293 { 294 _resultSet.afterLast(); 295 } 296 297 public boolean first() throws SQLException 298 { 299 return _columns.load(_resultSet.first()); 300 } 301 302 public boolean last() throws SQLException 303 { 304 return _columns.load(_resultSet.last()); 305 } 306 307 public int getRow() throws SQLException 308 { 309 return _resultSet.getRow(); 310 } 311 312 public boolean absolute(int row) throws SQLException 313 { 314 return _columns.load(_resultSet.absolute(row)); 315 } 316 317 public boolean relative(int rows) throws SQLException 318 { 319 return _columns.load(_resultSet.relative(rows)); 320 } 321 322 public boolean previous() throws SQLException 323 { 324 return _columns.load(_resultSet.previous()); 325 } 326 327 public void setFetchDirection(int direction) throws SQLException 328 { 329 _resultSet.setFetchDirection(direction); 330 } 331 332 public int getFetchDirection() throws SQLException 333 { 334 return _resultSet.getFetchDirection(); 335 } 336 337 public void setFetchSize(int rows) throws SQLException 338 { 339 _resultSet.setFetchSize(rows); 340 } 341 342 public int getFetchSize() throws SQLException 343 { 344 return _resultSet.getFetchSize(); 345 } 346 347 public int getType() throws SQLException 348 { 349 return _resultSet.getType(); 350 } 351 352 public int getConcurrency() throws SQLException 353 { 354 return _resultSet.getConcurrency(); 355 } 356 357 public boolean rowUpdated() throws SQLException 358 { 359 return _resultSet.rowUpdated(); 360 } 361 362 public boolean rowInserted() throws SQLException 363 { 364 return _resultSet.rowInserted(); 365 } 366 367 public boolean rowDeleted() throws SQLException 368 { 369 return _resultSet.rowDeleted(); 370 } 371 372 public void updateNull(int columnIndex) throws SQLException 373 { 374 _resultSet.updateNull(columnIndex); 375 } 376 377 public void updateBoolean(int columnIndex, boolean x) throws SQLException 378 { 379 _resultSet.updateBoolean(columnIndex, x); 380 } 381 382 public void updateByte(int columnIndex, byte x) throws SQLException 383 { 384 _resultSet.updateByte(columnIndex, x); 385 } 386 387 public void updateShort(int columnIndex, short x) throws SQLException 388 { 389 _resultSet.updateShort(columnIndex, x); 390 } 391 392 public void updateInt(int columnIndex, int x) throws SQLException 393 { 394 _resultSet.updateInt(columnIndex, x); 395 } 396 397 public void updateLong(int columnIndex, long x) throws SQLException 398 { 399 _resultSet.updateLong(columnIndex, x); 400 } 401 402 public void updateFloat(int columnIndex, float x) throws SQLException 403 { 404 _resultSet.updateFloat(columnIndex, x); 405 } 406 407 public void updateDouble(int columnIndex, double x) throws SQLException 408 { 409 _resultSet.updateDouble(columnIndex, x); 410 } 411 412 public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException 413 { 414 _resultSet.updateBigDecimal(columnIndex, x); 415 } 416 417 public void updateString(int columnIndex, String x) throws SQLException 418 { 419 _resultSet.updateString(columnIndex, x); 420 } 421 422 public void updateBytes(int columnIndex, byte x[]) throws SQLException 423 { 424 _resultSet.updateBytes(columnIndex, x); 425 } 426 427 public void updateDate(int columnIndex, Date x) throws SQLException 428 { 429 _resultSet.updateDate(columnIndex, x); 430 } 431 432 public void updateTime(int columnIndex, Time x) throws SQLException 433 { 434 _resultSet.updateTime(columnIndex, x); 435 } 436 437 public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException 438 { 439 _resultSet.updateTimestamp(columnIndex, x); 440 } 441 442 public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException 443 { 444 _resultSet.updateAsciiStream(columnIndex, x, length); 445 } 446 447 public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException 448 { 449 _resultSet.updateBinaryStream(columnIndex, x, length); 450 } 451 452 public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException 453 { 454 _resultSet.updateCharacterStream(columnIndex, x, length); 455 } 456 457 public void updateObject(int columnIndex, Object x, int scale) throws SQLException 458 { 459 _resultSet.updateObject(columnIndex, x, scale); 460 } 461 462 public void updateObject(int columnIndex, Object x) throws SQLException 463 { 464 _resultSet.updateObject(columnIndex, x); 465 } 466 467 public void updateNull(String columnName) throws SQLException 468 { 469 _resultSet.updateNull(columnName); 470 } 471 472 public void updateBoolean(String columnName, boolean x) throws SQLException 473 { 474 _resultSet.updateBoolean(columnName, x); 475 } 476 477 public void updateByte(String columnName, byte x) throws SQLException 478 { 479 _resultSet.updateByte(columnName, x); 480 } 481 482 public void updateShort(String columnName, short x) throws SQLException 483 { 484 _resultSet.updateShort(columnName, x); 485 } 486 487 public void updateInt(String columnName, int x) throws SQLException 488 { 489 _resultSet.updateInt(columnName, x); 490 } 491 492 public void updateLong(String columnName, long x) throws SQLException 493 { 494 _resultSet.updateLong(columnName, x); 495 } 496 497 public void updateFloat(String columnName, float x) throws SQLException 498 { 499 _resultSet.updateFloat(columnName, x); 500 } 501 502 public void updateDouble(String columnName, double x) throws SQLException 503 { 504 _resultSet.updateDouble(columnName, x); 505 } 506 507 public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException 508 { 509 _resultSet.updateBigDecimal(columnName, x); 510 } 511 512 public void updateString(String columnName, String x) throws SQLException 513 { 514 _resultSet.updateString(columnName, x); 515 } 516 517 public void updateBytes(String columnName, byte x[]) throws SQLException 518 { 519 _resultSet.updateBytes(columnName, x); 520 } 521 522 public void updateDate(String columnName, Date x) throws SQLException 523 { 524 _resultSet.updateDate(columnName, x); 525 } 526 527 public void updateTime(String columnName, Time x) throws SQLException 528 { 529 _resultSet.updateTime(columnName, x); 530 } 531 532 public void updateTimestamp(String columnName, Timestamp x) throws SQLException 533 { 534 _resultSet.updateTimestamp(columnName, x); 535 } 536 537 public void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException 538 { 539 _resultSet.updateAsciiStream(columnName, x, length); 540 } 541 542 public void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException 543 { 544 _resultSet.updateBinaryStream(columnName, x, length); 545 } 546 547 public void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException 548 { 549 _resultSet.updateCharacterStream(columnName, reader, length); 550 } 551 552 public void updateObject(String columnName, Object x, int scale) throws SQLException 553 { 554 _resultSet.updateObject(columnName, x, scale); 555 } 556 557 public void updateObject(String columnName, Object x) throws SQLException 558 { 559 _resultSet.updateObject(columnName, x); 560 } 561 562 public void insertRow() throws SQLException 563 { 564 _resultSet.insertRow(); 565 } 566 567 public void updateRow() throws SQLException 568 { 569 _resultSet.updateRow(); 570 } 571 572 public void deleteRow() throws SQLException 573 { 574 _resultSet.deleteRow(); 575 } 576 577 public void refreshRow() throws SQLException 578 { 579 _resultSet.refreshRow(); 580 } 581 582 public void cancelRowUpdates() throws SQLException 583 { 584 _resultSet.cancelRowUpdates(); 585 } 586 587 public void moveToInsertRow() throws SQLException 588 { 589 _resultSet.moveToInsertRow(); 590 } 591 592 public void moveToCurrentRow() throws SQLException 593 { 594 _resultSet.moveToCurrentRow(); 595 } 596 597 public Statement getStatement() throws SQLException 598 { 599 return _statement; 600 } 601 602 public Object getObject(int i, Map map) throws SQLException 603 { 604 return _columns.getColumn(i).getObject(map); 605 } 606 607 public Ref getRef(int i) throws SQLException 608 { 609 return _columns.getColumn(i).getRef(); 610 } 611 612 public Blob getBlob(int i) throws SQLException 613 { 614 return _columns.getColumn(i).getBlob(); 615 } 616 617 public Clob getClob(int i) throws SQLException 618 { 619 return _columns.getColumn(i).getClob(); 620 } 621 622 public Array getArray(int i) throws SQLException 623 { 624 return _columns.getColumn(i).getArray(); 625 } 626 627 public Object getObject(String colName, Map map) throws SQLException 628 { 629 return _columns.getColumn(colName).getObject(map); 630 } 631 632 public Ref getRef(String colName) throws SQLException 633 { 634 return _columns.getColumn(colName).getRef(); 635 } 636 637 public Blob getBlob(String colName) throws SQLException 638 { 639 return _columns.getColumn(colName).getBlob(); 640 } 641 642 public Clob getClob(String colName) throws SQLException 643 { 644 return _columns.getColumn(colName).getClob(); 645 } 646 647 public Array getArray(String colName) throws SQLException 648 { 649 return _columns.getColumn(colName).getArray(); 650 } 651 652 public Date getDate(int columnIndex, Calendar cal) throws SQLException 653 { 654 return _columns.getColumn(columnIndex).getDate(cal); 655 } 656 657 public Date getDate(String columnName, Calendar cal) throws SQLException 658 { 659 return _columns.getColumn(columnName).getDate(cal); 660 } 661 662 public Time getTime(int columnIndex, Calendar cal) throws SQLException 663 { 664 return _columns.getColumn(columnIndex).getTime(cal); 665 } 666 667 public Time getTime(String columnName, Calendar cal) throws SQLException 668 { 669 return _columns.getColumn(columnName).getTime(cal); 670 } 671 672 public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException 673 { 674 return _columns.getColumn(columnIndex).getTimestamp(cal); 675 } 676 677 public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException 678 { 679 return _columns.getColumn(columnName).getTimestamp(cal); 680 } 681 682 public URL getURL(int columnIndex) throws SQLException 683 { 684 return _columns.getColumn(columnIndex).getURL(); 685 } 686 687 public URL getURL(String columnName) throws SQLException 688 { 689 return _columns.getColumn(columnName).getURL(); 690 } 691 692 public void updateRef(int columnIndex, Ref x) throws SQLException 693 { 694 _resultSet.updateRef(columnIndex, x); 695 } 696 697 public void updateRef(String columnName, Ref x) throws SQLException 698 { 699 _resultSet.updateRef(columnName, x); 700 } 701 702 public void updateBlob(int columnIndex, Blob x) throws SQLException 703 { 704 _resultSet.updateBlob(columnIndex, x); 705 } 706 707 public void updateBlob(String columnName, Blob x) throws SQLException 708 { 709 _resultSet.updateBlob(columnName, x); 710 } 711 712 public void updateClob(int columnIndex, Clob x) throws SQLException 713 { 714 _resultSet.updateClob(columnIndex, x); 715 } 716 717 public void updateClob(String columnName, Clob x) throws SQLException 718 { 719 _resultSet.updateClob(columnName, x); 720 } 721 722 public void updateArray(int columnIndex, Array x) throws SQLException 723 { 724 _resultSet.updateArray(columnIndex, x); 725 } 726 727 public void updateArray(String columnName, Array x) throws SQLException 728 { 729 _resultSet.updateArray(columnName, x); 730 } 731 }