1 package com.mockobjects.sql; 2 3 import com.mockobjects.ExpectationCounter; 4 import com.mockobjects.MockObject; 5 import com.mockobjects.ReturnValue; 6 import com.mockobjects.util.AssertMo; 7 8 import java.io.InputStream ; 9 import java.io.Reader ; 10 import java.math.BigDecimal ; 11 import java.sql.*; 12 import java.util.Calendar ; 13 import java.util.Map ; 14 15 25 abstract class MockResultSet extends MockObject implements ResultSet { 26 27 private final ExpectationCounter myCloseCalls; 28 protected final ExpectationCounter myNextCalls; 29 protected final String name; 30 31 private final ReturnValue myMetaData = new ReturnValue("meta data"); 32 private final ReturnValue myStatement = new ReturnValue("statement"); 33 34 public MockResultSet() { 35 this(MockResultSet.class.getName()); 36 } 37 38 41 public MockResultSet(String name) { 42 this.name = name; 43 myCloseCalls = new ExpectationCounter(name + ".close"); 44 myNextCalls = new ExpectationCounter(name + ".next"); 45 } 46 47 public void setExpectedCloseCalls(int calls) { 48 myCloseCalls.setExpected(calls); 49 } 50 51 public void setExpectedNextCalls(int calls) { 52 myNextCalls.setExpected(calls); 53 } 54 55 57 public void setupMetaData(ResultSetMetaData metaData) { 58 myMetaData.setValue(metaData); 59 } 60 61 public void setupStatement(Statement statement) { 62 myStatement.setValue(statement); 63 } 64 65 67 72 abstract public Object getObject(int columnIndex) throws SQLException; 73 74 79 abstract public Object getObject(String columnName) throws SQLException; 80 81 abstract public boolean next() throws SQLException; 82 83 abstract public int getRow() throws SQLException; 84 85 87 public void close() throws SQLException { 88 myCloseCalls.inc(); 89 } 90 91 public Array getArray(int i) throws SQLException { 92 return (Array) getObject(i); 93 } 94 95 public Array getArray(String colName) throws SQLException { 96 return (Array) getObject(colName); 97 } 98 99 public InputStream getAsciiStream(int columnIndex) throws SQLException { 100 return (InputStream ) getObject(columnIndex); 101 } 102 103 public InputStream getAsciiStream(String columnName) throws SQLException { 104 return (InputStream ) getObject(columnName); 105 } 106 107 public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException { 108 return getBigDecimal(columnName); 109 } 110 111 public BigDecimal getBigDecimal(int columnIndex) throws SQLException { 112 return (BigDecimal ) getObject(columnIndex); 113 } 114 115 public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { 116 return (BigDecimal ) getObject(columnIndex); 117 } 118 119 public BigDecimal getBigDecimal(String columnName) throws SQLException { 120 return (BigDecimal ) getObject(columnName); 121 } 122 123 public InputStream getBinaryStream(int columnIndex) throws SQLException { 124 return (InputStream ) getObject(columnIndex); 125 } 126 127 public InputStream getBinaryStream(String columnName) throws SQLException { 128 return (InputStream ) getObject(columnName); 129 } 130 131 public Blob getBlob(int i) throws SQLException { 132 return (Blob) getObject(i); 133 } 134 135 public Blob getBlob(String colName) throws SQLException { 136 return (Blob) getObject(colName); 137 } 138 139 public boolean getBoolean(int columnIndex) throws SQLException { 140 return ((Boolean ) getObject(columnIndex)).booleanValue(); 141 } 142 143 public boolean getBoolean(String columnName) throws SQLException { 144 return ((Boolean ) getObject(columnName)).booleanValue(); 145 } 146 147 public byte getByte(int columnIndex) throws SQLException { 148 return ((Byte ) getObject(columnIndex)).byteValue(); 149 } 150 151 public byte getByte(String columnName) throws SQLException { 152 return ((Byte ) getObject(columnName)).byteValue(); 153 } 154 155 public byte[] getBytes(int columnIndex) throws SQLException { 156 return (byte[]) getObject(columnIndex); 157 } 158 159 public byte[] getBytes(String columnName) throws SQLException { 160 return (byte[]) getObject(columnName); 161 } 162 163 public Reader getCharacterStream(int columnIndex) throws SQLException { 164 return (Reader ) getObject(columnIndex); 165 } 166 167 public Reader getCharacterStream(String columnName) throws SQLException { 168 return (Reader ) getObject(columnName); 169 } 170 171 public Clob getClob(int i) throws SQLException { 172 return (Clob) getObject(i); 173 } 174 175 public Clob getClob(String colName) throws SQLException { 176 return (Clob) getObject(colName); 177 } 178 179 public Date getDate(int columnIndex) throws SQLException { 180 return (Date) getObject(columnIndex); 181 } 182 183 public Date getDate(String columnName) throws SQLException { 184 return (Date) getObject(columnName); 185 } 186 187 public Date getDate(int columnIndex, Calendar cal) throws SQLException { 188 return getDate(columnIndex); 189 } 190 191 public Date getDate(String columnName, Calendar cal) throws SQLException { 192 return getDate(columnName); 193 } 194 195 public double getDouble(int columnIndex) throws SQLException { 196 return ((Double ) getObject(columnIndex)).doubleValue(); 197 } 198 199 public double getDouble(String columnName) throws SQLException { 200 return ((Double ) getObject(columnName)).doubleValue(); 201 } 202 203 public float getFloat(int columnIndex) throws SQLException { 204 return ((Float ) getObject(columnIndex)).floatValue(); 205 } 206 207 public float getFloat(String columnName) throws SQLException { 208 return ((Float ) getObject(columnName)).floatValue(); 209 } 210 211 public int getInt(int columnIndex) throws SQLException { 212 return ((Integer ) getObject(columnIndex)).intValue(); 213 } 214 215 public int getInt(String columnName) throws SQLException { 216 return ((Integer ) getObject(columnName)).intValue(); 217 } 218 219 public long getLong(int columnIndex) throws SQLException { 220 return ((Long ) getObject(columnIndex)).longValue(); 221 } 222 223 public long getLong(String columnName) throws SQLException { 224 return ((Long ) getObject(columnName)).longValue(); 225 } 226 227 public ResultSetMetaData getMetaData() throws SQLException { 228 return (ResultSetMetaData) myMetaData.getValue(); 229 } 230 231 public Ref getRef(int i) throws SQLException { 232 return (Ref) getObject(i); 233 } 234 235 public Ref getRef(String colName) throws SQLException { 236 return (Ref) getObject(colName); 237 } 238 239 public short getShort(String columnName) throws SQLException { 240 return ((Short ) getObject(columnName)).shortValue(); 241 } 242 243 public short getShort(int columnIndex) throws SQLException { 244 return ((Short ) getObject(columnIndex)).shortValue(); 245 } 246 247 public Statement getStatement() throws SQLException { 248 return (Statement) myStatement.getValue(); 249 } 250 251 public String getString(int columnIndex) throws SQLException { 252 final Object object = getObject(columnIndex); 253 if (object != null) { 254 AssertMo.assertTrue("Column " + columnIndex + " in " + name + " is a " + 255 object.getClass().getName() + " not a String", object instanceof String ); 256 257 return (String ) object; 258 } else { 259 return null; 260 } 261 } 262 263 public String getString(String columnName) throws SQLException { 264 return (String ) getObject(columnName); 265 } 266 267 public Time getTime(int columnIndex) throws SQLException { 268 return (Time) getObject(columnIndex); 269 } 270 271 public Time getTime(String columnName) throws SQLException { 272 return (Time) getObject(columnName); 273 } 274 275 public Time getTime(int columnIndex, Calendar cal) throws SQLException { 276 return getTime(columnIndex); 277 } 278 279 public Time getTime(String columnName, Calendar cal) throws SQLException { 280 return getTime(columnName); 281 } 282 283 public Timestamp getTimestamp(int columnIndex) throws SQLException { 284 return (Timestamp) getObject(columnIndex); 285 } 286 287 public Timestamp getTimestamp(String columnName) throws SQLException { 288 return (Timestamp) getObject(columnName); 289 } 290 291 public Timestamp getTimestamp(int columnIndex, Calendar cal) 292 throws SQLException { 293 return getTimestamp(columnIndex); 294 } 295 296 public Timestamp getTimestamp(String columnName, Calendar cal) 297 throws SQLException { 298 return getTimestamp(columnName); 299 } 300 301 public InputStream getUnicodeStream(int columnIndex) 302 throws SQLException { 303 return (InputStream ) getObject(columnIndex); 304 } 305 306 public InputStream getUnicodeStream(String columnName) 307 throws SQLException { 308 return (InputStream ) getObject(columnName); 309 } 310 311 313 public String getCursorName() throws SQLException { 314 notImplemented(); 315 return null; 316 } 317 318 public int getConcurrency() throws SQLException { 319 notImplemented(); 320 return 0; 321 } 322 323 326 public int getFetchDirection() throws SQLException { 327 notImplemented(); 328 return 0; 329 } 330 331 334 public int getFetchSize() throws SQLException { 335 notImplemented(); 336 return 0; 337 } 338 339 342 public Object getObject(int i, Map map) throws SQLException { 343 notImplemented(); 344 return null; 345 } 346 347 350 public Object getObject(String colName, Map map) throws SQLException { 351 notImplemented(); 352 return null; 353 } 354 355 358 public int getType() throws SQLException { 359 notImplemented(); 360 return 0; 361 } 362 363 366 public SQLWarning getWarnings() throws SQLException { 367 notImplemented(); 368 return null; 369 } 370 371 374 public void clearWarnings() throws SQLException { 375 notImplemented(); 376 } 377 378 381 public int findColumn(String columnName) throws SQLException { 382 notImplemented(); 383 return 0; 384 } 385 386 389 public boolean isBeforeFirst() throws SQLException { 390 notImplemented(); 391 return false; 392 } 393 394 397 public boolean isAfterLast() throws SQLException { 398 notImplemented(); 399 return false; 400 } 401 402 405 public boolean isFirst() throws SQLException { 406 notImplemented(); 407 return false; 408 } 409 410 413 public boolean isLast() throws SQLException { 414 notImplemented(); 415 return false; 416 } 417 418 421 public void beforeFirst() throws SQLException { 422 notImplemented(); 423 } 424 425 428 public void afterLast() throws SQLException { 429 notImplemented(); 430 } 431 432 435 public boolean first() throws SQLException { 436 notImplemented(); 437 return false; 438 } 439 440 443 public boolean last() throws SQLException { 444 notImplemented(); 445 return false; 446 } 447 448 451 public boolean absolute(int row) throws SQLException { 452 notImplemented(); 453 return false; 454 } 455 456 459 public boolean relative(int rows) throws SQLException { 460 notImplemented(); 461 return false; 462 } 463 464 467 public boolean previous() throws SQLException { 468 notImplemented(); 469 return false; 470 } 471 472 475 public void setFetchDirection(int direction) throws SQLException { 476 notImplemented(); 477 } 478 479 482 public void setFetchSize(int rows) throws SQLException { 483 notImplemented(); 484 } 485 486 489 public boolean rowUpdated() throws SQLException { 490 notImplemented(); 491 return false; 492 } 493 494 497 public boolean rowInserted() throws SQLException { 498 notImplemented(); 499 return false; 500 } 501 502 505 public boolean rowDeleted() throws SQLException { 506 notImplemented(); 507 return false; 508 } 509 510 513 public void updateNull(int columnIndex) throws SQLException { 514 notImplemented(); 515 } 516 517 520 public void updateBoolean(int columnIndex, boolean x) 521 throws SQLException { 522 notImplemented(); 523 } 524 525 528 public void updateByte(int columnIndex, byte x) throws SQLException { 529 notImplemented(); 530 } 531 532 535 public void updateShort(int columnIndex, short x) throws SQLException { 536 notImplemented(); 537 } 538 539 542 public void updateInt(int columnIndex, int x) throws SQLException { 543 notImplemented(); 544 } 545 546 549 public void updateLong(int columnIndex, long x) throws SQLException { 550 notImplemented(); 551 } 552 553 556 public void updateFloat(int columnIndex, float x) throws SQLException { 557 notImplemented(); 558 } 559 560 563 public void updateDouble(int columnIndex, double x) throws SQLException { 564 notImplemented(); 565 } 566 567 570 public void updateBigDecimal(int columnIndex, BigDecimal x) 571 throws SQLException { 572 notImplemented(); 573 } 574 575 578 public void updateString(int columnIndex, String x) throws SQLException { 579 notImplemented(); 580 } 581 582 585 public void updateBytes(int columnIndex, byte x[]) throws SQLException { 586 notImplemented(); 587 } 588 589 592 public void updateDate(int columnIndex, Date x) throws SQLException { 593 notImplemented(); 594 } 595 596 599 public void updateTime(int columnIndex, Time x) throws SQLException { 600 notImplemented(); 601 } 602 603 606 public void updateTimestamp(int columnIndex, Timestamp x) 607 throws SQLException { 608 notImplemented(); 609 } 610 611 614 public void updateAsciiStream(int columnIndex, 615 InputStream x, 616 int length) throws SQLException { 617 notImplemented(); 618 } 619 620 623 public void updateBinaryStream(int columnIndex, 624 InputStream x, 625 int length) throws SQLException { 626 notImplemented(); 627 } 628 629 632 public void updateCharacterStream(int columnIndex, 633 Reader x, 634 int length) throws SQLException { 635 notImplemented(); 636 } 637 638 641 public void updateObject(int columnIndex, Object x, int scale) 642 throws SQLException { 643 notImplemented(); 644 } 645 646 649 public void updateObject(int columnIndex, Object x) throws SQLException { 650 notImplemented(); 651 } 652 653 656 public void updateNull(String columnName) throws SQLException { 657 notImplemented(); 658 } 659 660 663 public void updateBoolean(String columnName, boolean x) 664 throws SQLException { 665 notImplemented(); 666 } 667 668 671 public void updateByte(String columnName, byte x) throws SQLException { 672 notImplemented(); 673 } 674 675 678 public void updateShort(String columnName, short x) throws SQLException { 679 notImplemented(); 680 } 681 682 685 public void updateInt(String columnName, int x) throws SQLException { 686 notImplemented(); 687 } 688 689 692 public void updateLong(String columnName, long x) throws SQLException { 693 notImplemented(); 694 } 695 696 699 public void updateFloat(String columnName, float x) throws SQLException { 700 notImplemented(); 701 } 702 703 706 public void updateDouble(String columnName, double x) throws SQLException { 707 notImplemented(); 708 } 709 710 713 public void updateBigDecimal(String columnName, BigDecimal x) 714 throws SQLException { 715 notImplemented(); 716 } 717 718 721 public void updateString(String columnName, String x) throws SQLException { 722 notImplemented(); 723 } 724 725 728 public void updateBytes(String columnName, byte x[]) throws SQLException { 729 notImplemented(); 730 } 731 732 735 public void updateDate(String columnName, Date x) throws SQLException { 736 notImplemented(); 737 } 738 739 742 public void updateTime(String columnName, Time x) throws SQLException { 743 notImplemented(); 744 } 745 746 749 public void updateTimestamp(String columnName, Timestamp x) 750 throws SQLException { 751 notImplemented(); 752 } 753 754 757 public void updateAsciiStream(String columnName, 758 InputStream x, 759 int length) throws SQLException { 760 notImplemented(); 761 } 762 763 766 public void updateBinaryStream(String columnName, 767 InputStream x, 768 int length) throws SQLException { 769 notImplemented(); 770 } 771 772 775 public void updateCharacterStream(String columnName, 776 Reader reader, 777 int length) throws SQLException { 778 notImplemented(); 779 } 780 781 784 public void updateObject(String columnName, Object x, int scale) 785 throws SQLException { 786 notImplemented(); 787 } 788 789 792 public void updateObject(String columnName, Object x) 793 throws SQLException { 794 notImplemented(); 795 } 796 797 800 public void insertRow() throws SQLException { 801 notImplemented(); 802 } 803 804 807 public void updateRow() throws SQLException { 808 notImplemented(); 809 } 810 811 814 public void deleteRow() throws SQLException { 815 notImplemented(); 816 } 817 818 821 public void refreshRow() throws SQLException { 822 notImplemented(); 823 } 824 825 828 public void cancelRowUpdates() throws SQLException { 829 notImplemented(); 830 } 831 832 835 public void moveToInsertRow() throws SQLException { 836 notImplemented(); 837 } 838 839 842 public void moveToCurrentRow() throws SQLException { 843 notImplemented(); 844 } 845 846 849 public boolean wasNull() throws SQLException { 850 notImplemented(); 851 return false; 852 } 853 854 } | Popular Tags |