1 // Do not edit this file! It was generated by Melati POEM's DSD preprocessor. 2 3 package org.paneris.bibliomania.generated; 4 5 6 import java.sql.Timestamp; 7 import java.util.Collections; 8 import java.util.Enumeration; 9 import java.util.List; 10 import org.melati.poem.AccessPoemException; 11 import org.melati.poem.CachedSelection; 12 import org.melati.poem.Capability; 13 import org.melati.poem.Column; 14 import org.melati.poem.Field; 15 import org.melati.poem.NoSuchRowPoemException; 16 import org.melati.poem.ValidationPoemException; 17 import org.melati.poem.util.EmptyEnumeration; 18 import org.paneris.bibliomania.Advert; 19 import org.paneris.bibliomania.Author; 20 import org.paneris.bibliomania.BibliomaniaDatabaseTables; 21 import org.paneris.bibliomania.Book; 22 import org.paneris.bibliomania.BookStocking; 23 import org.paneris.bibliomania.BookTable; 24 import org.paneris.bibliomania.Product; 25 import org.paneris.bibliomania.ProductAssociation; 26 import org.paneris.bibliomania.Section; 27 import org.paneris.bibliomania.Unit; 28 29 30 /** 31 * Melati POEM generated abstract base class for a <code>Persistent</code> 32 * <code>Book</code> Object. 33 * 34 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 35 */ 36 public abstract class BookBase extends Unit { 37 38 39 /** 40 * Retrieves the Database object. 41 * 42 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 43 * @return the database 44 */ 45 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() { 46 return (BibliomaniaDatabaseTables)getDatabase(); 47 } 48 49 50 /** 51 * Retrieves the <code>BookTable</code> table 52 * which this <code>Persistent</code> is from. 53 * 54 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 55 * @return the BookTable 56 */ 57 @SuppressWarnings("unchecked") 58 public BookTable<Book> getBookTable() { 59 return (BookTable<Book>)getTable(); 60 } 61 62 @SuppressWarnings("unchecked") 63 private BookTable<Book> _getBookTable() { 64 return (BookTable<Book>)getTable(); 65 } 66 67 // Fields in this table 68 /** 69 * id 70 */ 71 protected Integer id; 72 /** 73 * section - The category under which the book falls 74 */ 75 protected Integer section; 76 /** 77 * author - The book's author 78 */ 79 protected Integer author; 80 /** 81 * advert - Advert for this book 82 */ 83 protected Integer advert; 84 /** 85 * authorsequence - An internal number used to distinguish between books by 86 * the same author in creating textIDs for the full text indexing subsystem 87 */ 88 protected Integer authorsequence; 89 /** 90 * Short title - A manageably short version of the book's title 91 */ 92 protected String title; 93 /** 94 * Full title - The `full Monty' version of the book's title, if different 95 */ 96 protected String fulltitleifdifferent; 97 /** 98 * paginated - Whether the book's chapters should be displayed in 99 * pre-paginated form 100 */ 101 protected Boolean paginated; 102 /** 103 * metatag_description 104 */ 105 protected String metatag_description; 106 /** 107 * metatag_keywords 108 */ 109 protected String metatag_keywords; 110 /** 111 * Last bookshop search - When a search was last made for stockings of this 112 * book in the online bookshops 113 */ 114 protected Timestamp lastbookshopsearch; 115 /** 116 * `Read content' capability - The capability required for reading the book 117 * (defaults to that for section) 118 */ 119 protected Integer overridecanreadcontent; 120 /** 121 * summary - The book's blurb, to appear on its TOC page 122 */ 123 protected String summary; 124 /** 125 * Has no front page - Whether the book should simply display the first page 126 * of its content instead of a `front page' 127 */ 128 protected Boolean hasnofrontpage; 129 /** 130 * Non-standard - Whether the book has its own non-standard template 131 */ 132 protected Boolean nonstandard; 133 134 135 /** 136 * Retrieves the <code>Id</code> value, without locking, 137 * for this <code>Book</code> <code>Persistent</code>. 138 * 139 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 140 * @return the Integer id 141 */ 142 public Integer getId_unsafe() { 143 return id; 144 } 145 146 147 /** 148 * Sets the <code>Id</code> value directly, without checking, 149 * for this Book <code>Persistent</code>. 150 * 151 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 152 * @param cooked the pre-validated value to set 153 */ 154 public void setId_unsafe(Integer cooked) { 155 id = cooked; 156 } 157 158 /** 159 * Retrieves the Id value, with locking, for this 160 * <code>Book</code> <code>Persistent</code>. 161 * 162 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 163 * @throws AccessPoemException 164 * if the current <code>AccessToken</code> 165 * does not confer write access rights 166 * @return the value of the field <code>Id</code> for this 167 * <code>Book</code> <code>Persistent</code> 168 */ 169 170 public Integer getId() 171 throws AccessPoemException { 172 readLock(); 173 return getId_unsafe(); 174 } 175 176 177 /** 178 * Sets the <code>Id</code> value, with checking, for this 179 * <code>Book</code> <code>Persistent</code>. 180 * 181 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 182 * @param cooked a validated <code>int</code> 183 * @throws AccessPoemException 184 * if the current <code>AccessToken</code> 185 * does not confer write access rights 186 * @throws ValidationPoemException 187 * if the value is not valid 188 */ 189 public void setId(Integer cooked) 190 throws AccessPoemException, ValidationPoemException { 191 _getBookTable().getIdColumn(). 192 getType().assertValidCooked(cooked); 193 writeLock(); 194 setId_unsafe(cooked); 195 } 196 197 /** 198 * Sets the <code>Id</code> value, with checking, for this 199 * <code>Book</code> <code>Persistent</code>. 200 * 201 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 202 * @param cooked a validated <code>int</code> 203 * @throws AccessPoemException 204 * if the current <code>AccessToken</code> 205 * does not confer write access rights 206 * @throws ValidationPoemException 207 * if the value is not valid 208 */ 209 210 public final void setId(int cooked) 211 throws AccessPoemException, ValidationPoemException { 212 setId(new Integer(cooked)); 213 } 214 215 216 /** 217 * Retrieves the <code>Id</code> value as a <code>Field</code> 218 * from this <code>Book</code> <code>Persistent</code>. 219 * 220 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 221 * @throws AccessPoemException 222 * if the current <code>AccessToken</code> 223 * does not confer write access rights 224 * @return the Integer id 225 */ 226 public Field<Integer> getIdField() throws AccessPoemException { 227 Column<Integer> c = _getBookTable().getIdColumn(); 228 return new Field<Integer>((Integer)c.getRaw(this), c); 229 } 230 231 232 /** 233 * Retrieves the <code>Section</code> value, without locking, 234 * for this <code>Book</code> <code>Persistent</code>. 235 * 236 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 237 * @return the Integer section 238 */ 239 public Integer getSection_unsafe() { 240 return section; 241 } 242 243 244 /** 245 * Sets the <code>Section</code> value directly, without checking, 246 * for this Book <code>Persistent</code>. 247 * 248 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 249 * @param cooked the pre-validated value to set 250 */ 251 public void setSection_unsafe(Integer cooked) { 252 section = cooked; 253 } 254 255 /** 256 * Retrieves the Table Row Object ID. 257 * 258 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 259 * @throws AccessPoemException 260 * if the current <code>AccessToken</code> 261 * does not confer read access rights 262 * @return the TROID as an <code>Integer</code> 263 */ 264 265 public Integer getSectionTroid() 266 throws AccessPoemException { 267 readLock(); 268 return getSection_unsafe(); 269 } 270 271 272 /** 273 * Sets the Table Row Object ID. 274 * 275 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 276 * @param raw a Table Row Object Id 277 * @throws AccessPoemException 278 * if the current <code>AccessToken</code> 279 * does not confer write access rights 280 */ 281 public void setSectionTroid(Integer raw) 282 throws AccessPoemException { 283 setSection(raw == null ? null : 284 (Section)getBibliomaniaDatabaseTables().getSectionTable().getSectionObject(raw)); 285 } 286 287 288 /** 289 * Retrieves the <code>Section</code> object referred to. 290 * 291 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 292 * @throws AccessPoemException 293 * if the current <code>AccessToken</code> 294 * does not confer read access rights 295 * @throws NoSuchRowPoemException 296 * if the <code>Persistent</code> has yet to be allocated a TROID 297 * @return the <code>Section</code> as a <code>Section</code> 298 */ 299 public Section getSection() 300 throws AccessPoemException, NoSuchRowPoemException { 301 Integer troid = getSectionTroid(); 302 return troid == null ? null : 303 (Section)getBibliomaniaDatabaseTables().getSectionTable().getSectionObject(troid); 304 } 305 306 307 /** 308 * Set the Section. 309 * 310 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 311 * @param cooked a validated <code>Section</code> 312 * @throws AccessPoemException 313 * if the current <code>AccessToken</code> 314 * does not confer write access rights 315 */ 316 public void setSection(Section cooked) 317 throws AccessPoemException { 318 _getBookTable(). 319 getSectionColumn(). 320 getType().assertValidCooked(cooked); 321 writeLock(); 322 if (cooked == null) 323 setSection_unsafe(null); 324 else { 325 cooked.existenceLock(); 326 setSection_unsafe(cooked.troid()); 327 } 328 } 329 330 331 /** 332 * Retrieves the <code>Section</code> value as a <code>Field</code> 333 * from this <code>Book</code> <code>Persistent</code>. 334 * 335 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 336 * @throws AccessPoemException 337 * if the current <code>AccessToken</code> 338 * does not confer write access rights 339 * @return the Integer section 340 */ 341 public Field<Integer> getSectionField() throws AccessPoemException { 342 Column<Integer> c = _getBookTable().getSectionColumn(); 343 return new Field<Integer>((Integer)c.getRaw(this), c); 344 } 345 346 347 /** 348 * Retrieves the <code>Author</code> value, without locking, 349 * for this <code>Book</code> <code>Persistent</code>. 350 * 351 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 352 * @return the Integer author 353 */ 354 public Integer getAuthor_unsafe() { 355 return author; 356 } 357 358 359 /** 360 * Sets the <code>Author</code> value directly, without checking, 361 * for this Book <code>Persistent</code>. 362 * 363 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 364 * @param cooked the pre-validated value to set 365 */ 366 public void setAuthor_unsafe(Integer cooked) { 367 author = cooked; 368 } 369 370 /** 371 * Retrieves the Table Row Object ID. 372 * 373 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 374 * @throws AccessPoemException 375 * if the current <code>AccessToken</code> 376 * does not confer read access rights 377 * @return the TROID as an <code>Integer</code> 378 */ 379 380 public Integer getAuthorTroid() 381 throws AccessPoemException { 382 readLock(); 383 return getAuthor_unsafe(); 384 } 385 386 387 /** 388 * Sets the Table Row Object ID. 389 * 390 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 391 * @param raw a Table Row Object Id 392 * @throws AccessPoemException 393 * if the current <code>AccessToken</code> 394 * does not confer write access rights 395 */ 396 public void setAuthorTroid(Integer raw) 397 throws AccessPoemException { 398 setAuthor(raw == null ? null : 399 (Author)getBibliomaniaDatabaseTables().getAuthorTable().getAuthorObject(raw)); 400 } 401 402 403 /** 404 * Retrieves the <code>Author</code> object referred to. 405 * 406 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 407 * @throws AccessPoemException 408 * if the current <code>AccessToken</code> 409 * does not confer read access rights 410 * @throws NoSuchRowPoemException 411 * if the <code>Persistent</code> has yet to be allocated a TROID 412 * @return the <code>Author</code> as a <code>Author</code> 413 */ 414 public Author getAuthor() 415 throws AccessPoemException, NoSuchRowPoemException { 416 Integer troid = getAuthorTroid(); 417 return troid == null ? null : 418 (Author)getBibliomaniaDatabaseTables().getAuthorTable().getAuthorObject(troid); 419 } 420 421 422 /** 423 * Set the Author. 424 * 425 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 426 * @param cooked a validated <code>Author</code> 427 * @throws AccessPoemException 428 * if the current <code>AccessToken</code> 429 * does not confer write access rights 430 */ 431 public void setAuthor(Author cooked) 432 throws AccessPoemException { 433 _getBookTable(). 434 getAuthorColumn(). 435 getType().assertValidCooked(cooked); 436 writeLock(); 437 if (cooked == null) 438 setAuthor_unsafe(null); 439 else { 440 cooked.existenceLock(); 441 setAuthor_unsafe(cooked.troid()); 442 } 443 } 444 445 446 /** 447 * Retrieves the <code>Author</code> value as a <code>Field</code> 448 * from this <code>Book</code> <code>Persistent</code>. 449 * 450 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 451 * @throws AccessPoemException 452 * if the current <code>AccessToken</code> 453 * does not confer write access rights 454 * @return the Integer author 455 */ 456 public Field<Integer> getAuthorField() throws AccessPoemException { 457 Column<Integer> c = _getBookTable().getAuthorColumn(); 458 return new Field<Integer>((Integer)c.getRaw(this), c); 459 } 460 461 462 /** 463 * Retrieves the <code>Advert</code> value, without locking, 464 * for this <code>Book</code> <code>Persistent</code>. 465 * 466 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 467 * @return the Integer advert 468 */ 469 public Integer getAdvert_unsafe() { 470 return advert; 471 } 472 473 474 /** 475 * Sets the <code>Advert</code> value directly, without checking, 476 * for this Book <code>Persistent</code>. 477 * 478 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 479 * @param cooked the pre-validated value to set 480 */ 481 public void setAdvert_unsafe(Integer cooked) { 482 advert = cooked; 483 } 484 485 /** 486 * Retrieves the Table Row Object ID. 487 * 488 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 489 * @throws AccessPoemException 490 * if the current <code>AccessToken</code> 491 * does not confer read access rights 492 * @return the TROID as an <code>Integer</code> 493 */ 494 495 public Integer getAdvertTroid() 496 throws AccessPoemException { 497 readLock(); 498 return getAdvert_unsafe(); 499 } 500 501 502 /** 503 * Sets the Table Row Object ID. 504 * 505 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 506 * @param raw a Table Row Object Id 507 * @throws AccessPoemException 508 * if the current <code>AccessToken</code> 509 * does not confer write access rights 510 */ 511 public void setAdvertTroid(Integer raw) 512 throws AccessPoemException { 513 setAdvert(raw == null ? null : 514 getBibliomaniaDatabaseTables().getAdvertTable().getAdvertObject(raw)); 515 } 516 517 518 /** 519 * Retrieves the <code>Advert</code> object referred to. 520 * 521 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 522 * @throws AccessPoemException 523 * if the current <code>AccessToken</code> 524 * does not confer read access rights 525 * @throws NoSuchRowPoemException 526 * if the <code>Persistent</code> has yet to be allocated a TROID 527 * @return the <code>Advert</code> as a <code>Advert</code> 528 */ 529 public Advert getAdvert() 530 throws AccessPoemException, NoSuchRowPoemException { 531 Integer troid = getAdvertTroid(); 532 return troid == null ? null : 533 getBibliomaniaDatabaseTables().getAdvertTable().getAdvertObject(troid); 534 } 535 536 537 /** 538 * Set the Advert. 539 * 540 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 541 * @param cooked a validated <code>Advert</code> 542 * @throws AccessPoemException 543 * if the current <code>AccessToken</code> 544 * does not confer write access rights 545 */ 546 public void setAdvert(Advert cooked) 547 throws AccessPoemException { 548 _getBookTable(). 549 getAdvertColumn(). 550 getType().assertValidCooked(cooked); 551 writeLock(); 552 if (cooked == null) 553 setAdvert_unsafe(null); 554 else { 555 cooked.existenceLock(); 556 setAdvert_unsafe(cooked.troid()); 557 } 558 } 559 560 561 /** 562 * Retrieves the <code>Advert</code> value as a <code>Field</code> 563 * from this <code>Book</code> <code>Persistent</code>. 564 * 565 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 566 * @throws AccessPoemException 567 * if the current <code>AccessToken</code> 568 * does not confer write access rights 569 * @return the Integer advert 570 */ 571 public Field<Integer> getAdvertField() throws AccessPoemException { 572 Column<Integer> c = _getBookTable().getAdvertColumn(); 573 return new Field<Integer>((Integer)c.getRaw(this), c); 574 } 575 576 577 /** 578 * Retrieves the <code>Authorsequence</code> value, without locking, 579 * for this <code>Book</code> <code>Persistent</code>. 580 * 581 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 582 * @return the Integer authorsequence 583 */ 584 public Integer getAuthorsequence_unsafe() { 585 return authorsequence; 586 } 587 588 589 /** 590 * Sets the <code>Authorsequence</code> value directly, without checking, 591 * for this Book <code>Persistent</code>. 592 * 593 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 594 * @param cooked the pre-validated value to set 595 */ 596 public void setAuthorsequence_unsafe(Integer cooked) { 597 authorsequence = cooked; 598 } 599 600 /** 601 * Retrieves the Authorsequence value, with locking, for this 602 * <code>Book</code> <code>Persistent</code>. 603 * Field description: 604 * An internal number used to distinguish between books by the same author 605 * in creating textIDs for the full text indexing subsystem 606 * 607 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 608 * @throws AccessPoemException 609 * if the current <code>AccessToken</code> 610 * does not confer write access rights 611 * @return the value of the field <code>Authorsequence</code> for this 612 * <code>Book</code> <code>Persistent</code> 613 */ 614 615 public Integer getAuthorsequence() 616 throws AccessPoemException { 617 readLock(); 618 return getAuthorsequence_unsafe(); 619 } 620 621 622 /** 623 * Sets the <code>Authorsequence</code> value, with checking, for this 624 * <code>Book</code> <code>Persistent</code>. 625 * Field description: 626 * An internal number used to distinguish between books by the same author 627 * in creating textIDs for the full text indexing subsystem 628 * 629 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 630 * @param cooked a validated <code>int</code> 631 * @throws AccessPoemException 632 * if the current <code>AccessToken</code> 633 * does not confer write access rights 634 * @throws ValidationPoemException 635 * if the value is not valid 636 */ 637 public void setAuthorsequence(Integer cooked) 638 throws AccessPoemException, ValidationPoemException { 639 _getBookTable().getAuthorsequenceColumn(). 640 getType().assertValidCooked(cooked); 641 writeLock(); 642 setAuthorsequence_unsafe(cooked); 643 } 644 645 /** 646 * Sets the <code>Authorsequence</code> value, with checking, for this 647 * <code>Book</code> <code>Persistent</code>. 648 * Field description: 649 * An internal number used to distinguish between books by the same author 650 * in creating textIDs for the full text indexing subsystem 651 * 652 * 653 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 654 * @param cooked a validated <code>int</code> 655 * @throws AccessPoemException 656 * if the current <code>AccessToken</code> 657 * does not confer write access rights 658 * @throws ValidationPoemException 659 * if the value is not valid 660 */ 661 662 public final void setAuthorsequence(int cooked) 663 throws AccessPoemException, ValidationPoemException { 664 setAuthorsequence(new Integer(cooked)); 665 } 666 667 668 /** 669 * Retrieves the <code>Authorsequence</code> value as a <code>Field</code> 670 * from this <code>Book</code> <code>Persistent</code>. 671 * 672 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 673 * @throws AccessPoemException 674 * if the current <code>AccessToken</code> 675 * does not confer write access rights 676 * @return the Integer authorsequence 677 */ 678 public Field<Integer> getAuthorsequenceField() throws AccessPoemException { 679 Column<Integer> c = _getBookTable().getAuthorsequenceColumn(); 680 return new Field<Integer>((Integer)c.getRaw(this), c); 681 } 682 683 684 /** 685 * Retrieves the <code>Title</code> value, without locking, 686 * for this <code>Book</code> <code>Persistent</code>. 687 * 688 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 689 * @return the String title 690 */ 691 public String getTitle_unsafe() { 692 return title; 693 } 694 695 696 /** 697 * Sets the <code>Title</code> value directly, without checking, 698 * for this Book <code>Persistent</code>. 699 * 700 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 701 * @param cooked the pre-validated value to set 702 */ 703 public void setTitle_unsafe(String cooked) { 704 title = cooked; 705 } 706 707 /** 708 * Retrieves the Title value, with locking, for this 709 * <code>Book</code> <code>Persistent</code>. 710 * Field description: 711 * A manageably short version of the book's title 712 * 713 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 714 * @throws AccessPoemException 715 * if the current <code>AccessToken</code> 716 * does not confer write access rights 717 * @return the value of the field <code>Title</code> for this 718 * <code>Book</code> <code>Persistent</code> 719 */ 720 721 public String getTitle() 722 throws AccessPoemException { 723 readLock(); 724 return getTitle_unsafe(); 725 } 726 727 728 /** 729 * Sets the <code>Title</code> value, with checking, for this 730 * <code>Book</code> <code>Persistent</code>. 731 * Field description: 732 * A manageably short version of the book's title 733 * 734 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 735 * @param cooked a validated <code>int</code> 736 * @throws AccessPoemException 737 * if the current <code>AccessToken</code> 738 * does not confer write access rights 739 * @throws ValidationPoemException 740 * if the value is not valid 741 */ 742 public void setTitle(String cooked) 743 throws AccessPoemException, ValidationPoemException { 744 _getBookTable().getTitleColumn(). 745 getType().assertValidCooked(cooked); 746 writeLock(); 747 setTitle_unsafe(cooked); 748 } 749 750 751 /** 752 * Retrieves the <code>Title</code> value as a <code>Field</code> 753 * from this <code>Book</code> <code>Persistent</code>. 754 * 755 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 756 * @throws AccessPoemException 757 * if the current <code>AccessToken</code> 758 * does not confer write access rights 759 * @return the String title 760 */ 761 public Field<String> getTitleField() throws AccessPoemException { 762 Column<String> c = _getBookTable().getTitleColumn(); 763 return new Field<String>((String)c.getRaw(this), c); 764 } 765 766 767 /** 768 * Retrieves the <code>Fulltitleifdifferent</code> value, without locking, 769 * for this <code>Book</code> <code>Persistent</code>. 770 * 771 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 772 * @return the String fulltitleifdifferent 773 */ 774 public String getFulltitleifdifferent_unsafe() { 775 return fulltitleifdifferent; 776 } 777 778 779 /** 780 * Sets the <code>Fulltitleifdifferent</code> value directly, without checking, 781 * for this Book <code>Persistent</code>. 782 * 783 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 784 * @param cooked the pre-validated value to set 785 */ 786 public void setFulltitleifdifferent_unsafe(String cooked) { 787 fulltitleifdifferent = cooked; 788 } 789 790 /** 791 * Retrieves the Fulltitleifdifferent value, with locking, for this 792 * <code>Book</code> <code>Persistent</code>. 793 * Field description: 794 * The `full Monty' version of the book's title, if different 795 * 796 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 797 * @throws AccessPoemException 798 * if the current <code>AccessToken</code> 799 * does not confer write access rights 800 * @return the value of the field <code>Fulltitleifdifferent</code> for this 801 * <code>Book</code> <code>Persistent</code> 802 */ 803 804 public String getFulltitleifdifferent() 805 throws AccessPoemException { 806 readLock(); 807 return getFulltitleifdifferent_unsafe(); 808 } 809 810 811 /** 812 * Sets the <code>Fulltitleifdifferent</code> value, with checking, for this 813 * <code>Book</code> <code>Persistent</code>. 814 * Field description: 815 * The `full Monty' version of the book's title, if different 816 * 817 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 818 * @param cooked a validated <code>int</code> 819 * @throws AccessPoemException 820 * if the current <code>AccessToken</code> 821 * does not confer write access rights 822 * @throws ValidationPoemException 823 * if the value is not valid 824 */ 825 public void setFulltitleifdifferent(String cooked) 826 throws AccessPoemException, ValidationPoemException { 827 _getBookTable().getFulltitleifdifferentColumn(). 828 getType().assertValidCooked(cooked); 829 writeLock(); 830 setFulltitleifdifferent_unsafe(cooked); 831 } 832 833 834 /** 835 * Retrieves the <code>Fulltitleifdifferent</code> value as a <code>Field</code> 836 * from this <code>Book</code> <code>Persistent</code>. 837 * 838 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 839 * @throws AccessPoemException 840 * if the current <code>AccessToken</code> 841 * does not confer write access rights 842 * @return the String fulltitleifdifferent 843 */ 844 public Field<String> getFulltitleifdifferentField() throws AccessPoemException { 845 Column<String> c = _getBookTable().getFulltitleifdifferentColumn(); 846 return new Field<String>((String)c.getRaw(this), c); 847 } 848 849 850 /** 851 * Retrieves the <code>Paginated</code> value, without locking, 852 * for this <code>Book</code> <code>Persistent</code>. 853 * 854 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 855 * @return the Boolean paginated 856 */ 857 public Boolean getPaginated_unsafe() { 858 return paginated; 859 } 860 861 862 /** 863 * Sets the <code>Paginated</code> value directly, without checking, 864 * for this Book <code>Persistent</code>. 865 * 866 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 867 * @param cooked the pre-validated value to set 868 */ 869 public void setPaginated_unsafe(Boolean cooked) { 870 paginated = cooked; 871 } 872 873 /** 874 * Retrieves the Paginated value, with locking, for this 875 * <code>Book</code> <code>Persistent</code>. 876 * Field description: 877 * Whether the book's chapters should be displayed in pre-paginated form 878 * 879 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 880 * @throws AccessPoemException 881 * if the current <code>AccessToken</code> 882 * does not confer write access rights 883 * @return the value of the field <code>Paginated</code> for this 884 * <code>Book</code> <code>Persistent</code> 885 */ 886 887 public Boolean getPaginated() 888 throws AccessPoemException { 889 readLock(); 890 return getPaginated_unsafe(); 891 } 892 893 894 /** 895 * Sets the <code>Paginated</code> value, with checking, for this 896 * <code>Book</code> <code>Persistent</code>. 897 * Field description: 898 * Whether the book's chapters should be displayed in pre-paginated form 899 * 900 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 901 * @param cooked a validated <code>int</code> 902 * @throws AccessPoemException 903 * if the current <code>AccessToken</code> 904 * does not confer write access rights 905 * @throws ValidationPoemException 906 * if the value is not valid 907 */ 908 public void setPaginated(Boolean cooked) 909 throws AccessPoemException, ValidationPoemException { 910 _getBookTable().getPaginatedColumn(). 911 getType().assertValidCooked(cooked); 912 writeLock(); 913 setPaginated_unsafe(cooked); 914 } 915 916 /** 917 * Sets the <code>Paginated</code> value, with checking, 918 * from a <code>boolean</code>, for this 919 * <code>Book</code> <code>Persistent</code>. 920 * Field description: 921 * Whether the book's chapters should be displayed in pre-paginated form 922 * 923 * 924 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 925 * @param cooked a <code>boolean</code> 926 * @throws AccessPoemException 927 * if the current <code>AccessToken</code> 928 * does not confer write access rights 929 * @throws ValidationPoemException 930 * if the value is not valid 931 */ 932 933 public final void setPaginated(boolean cooked) 934 throws AccessPoemException, ValidationPoemException { 935 setPaginated(cooked ? Boolean.TRUE : Boolean.FALSE); 936 } 937 938 939 /** 940 * Retrieves the <code>Paginated</code> value as a <code>Field</code> 941 * from this <code>Book</code> <code>Persistent</code>. 942 * 943 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 944 * @throws AccessPoemException 945 * if the current <code>AccessToken</code> 946 * does not confer write access rights 947 * @return the Boolean paginated 948 */ 949 public Field<Boolean> getPaginatedField() throws AccessPoemException { 950 Column<Boolean> c = _getBookTable().getPaginatedColumn(); 951 return new Field<Boolean>((Boolean)c.getRaw(this), c); 952 } 953 954 955 /** 956 * Retrieves the <code>Metatag_description</code> value, without locking, 957 * for this <code>Book</code> <code>Persistent</code>. 958 * 959 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 960 * @return the String metatag_description 961 */ 962 public String getMetatag_description_unsafe() { 963 return metatag_description; 964 } 965 966 967 /** 968 * Sets the <code>Metatag_description</code> value directly, without checking, 969 * for this Book <code>Persistent</code>. 970 * 971 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 972 * @param cooked the pre-validated value to set 973 */ 974 public void setMetatag_description_unsafe(String cooked) { 975 metatag_description = cooked; 976 } 977 978 /** 979 * Retrieves the Metatag_description value, with locking, for this 980 * <code>Book</code> <code>Persistent</code>. 981 * 982 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 983 * @throws AccessPoemException 984 * if the current <code>AccessToken</code> 985 * does not confer write access rights 986 * @return the value of the field <code>Metatag_description</code> for this 987 * <code>Book</code> <code>Persistent</code> 988 */ 989 990 public String getMetatag_description() 991 throws AccessPoemException { 992 readLock(); 993 return getMetatag_description_unsafe(); 994 } 995 996 997 /** 998 * Sets the <code>Metatag_description</code> value, with checking, for this 999 * <code>Book</code> <code>Persistent</code>. 1000 * 1001 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1002 * @param cooked a validated <code>int</code> 1003 * @throws AccessPoemException 1004 * if the current <code>AccessToken</code> 1005 * does not confer write access rights 1006 * @throws ValidationPoemException 1007 * if the value is not valid 1008 */ 1009 public void setMetatag_description(String cooked) 1010 throws AccessPoemException, ValidationPoemException { 1011 _getBookTable().getMetatag_descriptionColumn(). 1012 getType().assertValidCooked(cooked); 1013 writeLock(); 1014 setMetatag_description_unsafe(cooked); 1015 } 1016 1017 1018 /** 1019 * Retrieves the <code>Metatag_description</code> value as a <code>Field</code> 1020 * from this <code>Book</code> <code>Persistent</code>. 1021 * 1022 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1023 * @throws AccessPoemException 1024 * if the current <code>AccessToken</code> 1025 * does not confer write access rights 1026 * @return the String metatag_description 1027 */ 1028 public Field<String> getMetatag_descriptionField() throws AccessPoemException { 1029 Column<String> c = _getBookTable().getMetatag_descriptionColumn(); 1030 return new Field<String>((String)c.getRaw(this), c); 1031 } 1032 1033 1034 /** 1035 * Retrieves the <code>Metatag_keywords</code> value, without locking, 1036 * for this <code>Book</code> <code>Persistent</code>. 1037 * 1038 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1039 * @return the String metatag_keywords 1040 */ 1041 public String getMetatag_keywords_unsafe() { 1042 return metatag_keywords; 1043 } 1044 1045 1046 /** 1047 * Sets the <code>Metatag_keywords</code> value directly, without checking, 1048 * for this Book <code>Persistent</code>. 1049 * 1050 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1051 * @param cooked the pre-validated value to set 1052 */ 1053 public void setMetatag_keywords_unsafe(String cooked) { 1054 metatag_keywords = cooked; 1055 } 1056 1057 /** 1058 * Retrieves the Metatag_keywords value, with locking, for this 1059 * <code>Book</code> <code>Persistent</code>. 1060 * 1061 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1062 * @throws AccessPoemException 1063 * if the current <code>AccessToken</code> 1064 * does not confer write access rights 1065 * @return the value of the field <code>Metatag_keywords</code> for this 1066 * <code>Book</code> <code>Persistent</code> 1067 */ 1068 1069 public String getMetatag_keywords() 1070 throws AccessPoemException { 1071 readLock(); 1072 return getMetatag_keywords_unsafe(); 1073 } 1074 1075 1076 /** 1077 * Sets the <code>Metatag_keywords</code> value, with checking, for this 1078 * <code>Book</code> <code>Persistent</code>. 1079 * 1080 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1081 * @param cooked a validated <code>int</code> 1082 * @throws AccessPoemException 1083 * if the current <code>AccessToken</code> 1084 * does not confer write access rights 1085 * @throws ValidationPoemException 1086 * if the value is not valid 1087 */ 1088 public void setMetatag_keywords(String cooked) 1089 throws AccessPoemException, ValidationPoemException { 1090 _getBookTable().getMetatag_keywordsColumn(). 1091 getType().assertValidCooked(cooked); 1092 writeLock(); 1093 setMetatag_keywords_unsafe(cooked); 1094 } 1095 1096 1097 /** 1098 * Retrieves the <code>Metatag_keywords</code> value as a <code>Field</code> 1099 * from this <code>Book</code> <code>Persistent</code>. 1100 * 1101 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1102 * @throws AccessPoemException 1103 * if the current <code>AccessToken</code> 1104 * does not confer write access rights 1105 * @return the String metatag_keywords 1106 */ 1107 public Field<String> getMetatag_keywordsField() throws AccessPoemException { 1108 Column<String> c = _getBookTable().getMetatag_keywordsColumn(); 1109 return new Field<String>((String)c.getRaw(this), c); 1110 } 1111 1112 1113 /** 1114 * Retrieves the <code>Lastbookshopsearch</code> value, without locking, 1115 * for this <code>Book</code> <code>Persistent</code>. 1116 * 1117 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1118 * @return the Timestamp lastbookshopsearch 1119 */ 1120 public Timestamp getLastbookshopsearch_unsafe() { 1121 return lastbookshopsearch; 1122 } 1123 1124 1125 /** 1126 * Sets the <code>Lastbookshopsearch</code> value directly, without checking, 1127 * for this Book <code>Persistent</code>. 1128 * 1129 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1130 * @param cooked the pre-validated value to set 1131 */ 1132 public void setLastbookshopsearch_unsafe(Timestamp cooked) { 1133 lastbookshopsearch = cooked; 1134 } 1135 1136 /** 1137 * Retrieves the Lastbookshopsearch value, with locking, for this 1138 * <code>Book</code> <code>Persistent</code>. 1139 * Field description: 1140 * When a search was last made for stockings of this book in the online 1141 * bookshops 1142 * 1143 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1144 * @throws AccessPoemException 1145 * if the current <code>AccessToken</code> 1146 * does not confer write access rights 1147 * @return the value of the field <code>Lastbookshopsearch</code> for this 1148 * <code>Book</code> <code>Persistent</code> 1149 */ 1150 1151 public Timestamp getLastbookshopsearch() 1152 throws AccessPoemException { 1153 readLock(); 1154 return getLastbookshopsearch_unsafe(); 1155 } 1156 1157 1158 /** 1159 * Sets the <code>Lastbookshopsearch</code> value, with checking, for this 1160 * <code>Book</code> <code>Persistent</code>. 1161 * Field description: 1162 * When a search was last made for stockings of this book in the online 1163 * bookshops 1164 * 1165 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1166 * @param cooked a validated <code>int</code> 1167 * @throws AccessPoemException 1168 * if the current <code>AccessToken</code> 1169 * does not confer write access rights 1170 * @throws ValidationPoemException 1171 * if the value is not valid 1172 */ 1173 public void setLastbookshopsearch(Timestamp cooked) 1174 throws AccessPoemException, ValidationPoemException { 1175 _getBookTable().getLastbookshopsearchColumn(). 1176 getType().assertValidCooked(cooked); 1177 writeLock(); 1178 setLastbookshopsearch_unsafe(cooked); 1179 } 1180 1181 1182 /** 1183 * Retrieves the <code>Lastbookshopsearch</code> value as a <code>Field</code> 1184 * from this <code>Book</code> <code>Persistent</code>. 1185 * 1186 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1187 * @throws AccessPoemException 1188 * if the current <code>AccessToken</code> 1189 * does not confer write access rights 1190 * @return the Timestamp lastbookshopsearch 1191 */ 1192 public Field<Timestamp> getLastbookshopsearchField() throws AccessPoemException { 1193 Column<Timestamp> c = _getBookTable().getLastbookshopsearchColumn(); 1194 return new Field<Timestamp>((Timestamp)c.getRaw(this), c); 1195 } 1196 1197 1198 /** 1199 * Retrieves the <code>Overridecanreadcontent</code> value, without locking, 1200 * for this <code>Book</code> <code>Persistent</code>. 1201 * 1202 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1203 * @return the Integer overridecanreadcontent 1204 */ 1205 public Integer getOverridecanreadcontent_unsafe() { 1206 return overridecanreadcontent; 1207 } 1208 1209 1210 /** 1211 * Sets the <code>Overridecanreadcontent</code> value directly, without checking, 1212 * for this Book <code>Persistent</code>. 1213 * 1214 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1215 * @param cooked the pre-validated value to set 1216 */ 1217 public void setOverridecanreadcontent_unsafe(Integer cooked) { 1218 overridecanreadcontent = cooked; 1219 } 1220 1221 /** 1222 * Retrieves the Table Row Object ID. 1223 * 1224 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1225 * @throws AccessPoemException 1226 * if the current <code>AccessToken</code> 1227 * does not confer read access rights 1228 * @return the TROID as an <code>Integer</code> 1229 */ 1230 1231 public Integer getOverridecanreadcontentTroid() 1232 throws AccessPoemException { 1233 readLock(); 1234 return getOverridecanreadcontent_unsafe(); 1235 } 1236 1237 1238 /** 1239 * Sets the Table Row Object ID. 1240 * 1241 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1242 * @param raw a Table Row Object Id 1243 * @throws AccessPoemException 1244 * if the current <code>AccessToken</code> 1245 * does not confer write access rights 1246 */ 1247 public void setOverridecanreadcontentTroid(Integer raw) 1248 throws AccessPoemException { 1249 setOverridecanreadcontent(raw == null ? null : 1250 getBibliomaniaDatabaseTables().getCapabilityTable().getCapabilityObject(raw)); 1251 } 1252 1253 1254 /** 1255 * Retrieves the <code>Overridecanreadcontent</code> object referred to. 1256 * 1257 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1258 * @throws AccessPoemException 1259 * if the current <code>AccessToken</code> 1260 * does not confer read access rights 1261 * @throws NoSuchRowPoemException 1262 * if the <code>Persistent</code> has yet to be allocated a TROID 1263 * @return the <code>Overridecanreadcontent</code> as a <code>Capability</code> 1264 */ 1265 public Capability getOverridecanreadcontent() 1266 throws AccessPoemException, NoSuchRowPoemException { 1267 Integer troid = getOverridecanreadcontentTroid(); 1268 return troid == null ? null : 1269 getBibliomaniaDatabaseTables().getCapabilityTable().getCapabilityObject(troid); 1270 } 1271 1272 1273 /** 1274 * Set the Overridecanreadcontent. 1275 * 1276 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1277 * @param cooked a validated <code>Capability</code> 1278 * @throws AccessPoemException 1279 * if the current <code>AccessToken</code> 1280 * does not confer write access rights 1281 */ 1282 public void setOverridecanreadcontent(Capability cooked) 1283 throws AccessPoemException { 1284 _getBookTable(). 1285 getOverridecanreadcontentColumn(). 1286 getType().assertValidCooked(cooked); 1287 writeLock(); 1288 if (cooked == null) 1289 setOverridecanreadcontent_unsafe(null); 1290 else { 1291 cooked.existenceLock(); 1292 setOverridecanreadcontent_unsafe(cooked.troid()); 1293 } 1294 } 1295 1296 1297 /** 1298 * Retrieves the <code>Overridecanreadcontent</code> value as a <code>Field</code> 1299 * from this <code>Book</code> <code>Persistent</code>. 1300 * 1301 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1302 * @throws AccessPoemException 1303 * if the current <code>AccessToken</code> 1304 * does not confer write access rights 1305 * @return the Integer overridecanreadcontent 1306 */ 1307 public Field<Integer> getOverridecanreadcontentField() throws AccessPoemException { 1308 Column<Integer> c = _getBookTable().getOverridecanreadcontentColumn(); 1309 return new Field<Integer>((Integer)c.getRaw(this), c); 1310 } 1311 1312 1313 /** 1314 * Retrieves the <code>Summary</code> value, without locking, 1315 * for this <code>Book</code> <code>Persistent</code>. 1316 * 1317 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1318 * @return the String summary 1319 */ 1320 public String getSummary_unsafe() { 1321 return summary; 1322 } 1323 1324 1325 /** 1326 * Sets the <code>Summary</code> value directly, without checking, 1327 * for this Book <code>Persistent</code>. 1328 * 1329 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1330 * @param cooked the pre-validated value to set 1331 */ 1332 public void setSummary_unsafe(String cooked) { 1333 summary = cooked; 1334 } 1335 1336 /** 1337 * Retrieves the Summary value, with locking, for this 1338 * <code>Book</code> <code>Persistent</code>. 1339 * Field description: 1340 * The book's blurb, to appear on its TOC page 1341 * 1342 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1343 * @throws AccessPoemException 1344 * if the current <code>AccessToken</code> 1345 * does not confer write access rights 1346 * @return the value of the field <code>Summary</code> for this 1347 * <code>Book</code> <code>Persistent</code> 1348 */ 1349 1350 public String getSummary() 1351 throws AccessPoemException { 1352 readLock(); 1353 return getSummary_unsafe(); 1354 } 1355 1356 1357 /** 1358 * Sets the <code>Summary</code> value, with checking, for this 1359 * <code>Book</code> <code>Persistent</code>. 1360 * Field description: 1361 * The book's blurb, to appear on its TOC page 1362 * 1363 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1364 * @param cooked a validated <code>int</code> 1365 * @throws AccessPoemException 1366 * if the current <code>AccessToken</code> 1367 * does not confer write access rights 1368 * @throws ValidationPoemException 1369 * if the value is not valid 1370 */ 1371 public void setSummary(String cooked) 1372 throws AccessPoemException, ValidationPoemException { 1373 _getBookTable().getSummaryColumn(). 1374 getType().assertValidCooked(cooked); 1375 writeLock(); 1376 setSummary_unsafe(cooked); 1377 } 1378 1379 1380 /** 1381 * Retrieves the <code>Summary</code> value as a <code>Field</code> 1382 * from this <code>Book</code> <code>Persistent</code>. 1383 * 1384 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1385 * @throws AccessPoemException 1386 * if the current <code>AccessToken</code> 1387 * does not confer write access rights 1388 * @return the String summary 1389 */ 1390 public Field<String> getSummaryField() throws AccessPoemException { 1391 Column<String> c = _getBookTable().getSummaryColumn(); 1392 return new Field<String>((String)c.getRaw(this), c); 1393 } 1394 1395 1396 /** 1397 * Retrieves the <code>Hasnofrontpage</code> value, without locking, 1398 * for this <code>Book</code> <code>Persistent</code>. 1399 * 1400 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1401 * @return the Boolean hasnofrontpage 1402 */ 1403 public Boolean getHasnofrontpage_unsafe() { 1404 return hasnofrontpage; 1405 } 1406 1407 1408 /** 1409 * Sets the <code>Hasnofrontpage</code> value directly, without checking, 1410 * for this Book <code>Persistent</code>. 1411 * 1412 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1413 * @param cooked the pre-validated value to set 1414 */ 1415 public void setHasnofrontpage_unsafe(Boolean cooked) { 1416 hasnofrontpage = cooked; 1417 } 1418 1419 /** 1420 * Retrieves the Hasnofrontpage value, with locking, for this 1421 * <code>Book</code> <code>Persistent</code>. 1422 * Field description: 1423 * Whether the book should simply display the first page of its content 1424 * instead of a `front page' 1425 * 1426 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1427 * @throws AccessPoemException 1428 * if the current <code>AccessToken</code> 1429 * does not confer write access rights 1430 * @return the value of the field <code>Hasnofrontpage</code> for this 1431 * <code>Book</code> <code>Persistent</code> 1432 */ 1433 1434 public Boolean getHasnofrontpage() 1435 throws AccessPoemException { 1436 readLock(); 1437 return getHasnofrontpage_unsafe(); 1438 } 1439 1440 1441 /** 1442 * Sets the <code>Hasnofrontpage</code> value, with checking, for this 1443 * <code>Book</code> <code>Persistent</code>. 1444 * Field description: 1445 * Whether the book should simply display the first page of its content 1446 * instead of a `front page' 1447 * 1448 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1449 * @param cooked a validated <code>int</code> 1450 * @throws AccessPoemException 1451 * if the current <code>AccessToken</code> 1452 * does not confer write access rights 1453 * @throws ValidationPoemException 1454 * if the value is not valid 1455 */ 1456 public void setHasnofrontpage(Boolean cooked) 1457 throws AccessPoemException, ValidationPoemException { 1458 _getBookTable().getHasnofrontpageColumn(). 1459 getType().assertValidCooked(cooked); 1460 writeLock(); 1461 setHasnofrontpage_unsafe(cooked); 1462 } 1463 1464 /** 1465 * Sets the <code>Hasnofrontpage</code> value, with checking, 1466 * from a <code>boolean</code>, for this 1467 * <code>Book</code> <code>Persistent</code>. 1468 * Field description: 1469 * Whether the book should simply display the first page of its content 1470 * instead of a `front page' 1471 * 1472 * 1473 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 1474 * @param cooked a <code>boolean</code> 1475 * @throws AccessPoemException 1476 * if the current <code>AccessToken</code> 1477 * does not confer write access rights 1478 * @throws ValidationPoemException 1479 * if the value is not valid 1480 */ 1481 1482 public final void setHasnofrontpage(boolean cooked) 1483 throws AccessPoemException, ValidationPoemException { 1484 setHasnofrontpage(cooked ? Boolean.TRUE : Boolean.FALSE); 1485 } 1486 1487 1488 /** 1489 * Retrieves the <code>Hasnofrontpage</code> value as a <code>Field</code> 1490 * from this <code>Book</code> <code>Persistent</code>. 1491 * 1492 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1493 * @throws AccessPoemException 1494 * if the current <code>AccessToken</code> 1495 * does not confer write access rights 1496 * @return the Boolean hasnofrontpage 1497 */ 1498 public Field<Boolean> getHasnofrontpageField() throws AccessPoemException { 1499 Column<Boolean> c = _getBookTable().getHasnofrontpageColumn(); 1500 return new Field<Boolean>((Boolean)c.getRaw(this), c); 1501 } 1502 1503 1504 /** 1505 * Retrieves the <code>Nonstandard</code> value, without locking, 1506 * for this <code>Book</code> <code>Persistent</code>. 1507 * 1508 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1509 * @return the Boolean nonstandard 1510 */ 1511 public Boolean getNonstandard_unsafe() { 1512 return nonstandard; 1513 } 1514 1515 1516 /** 1517 * Sets the <code>Nonstandard</code> value directly, without checking, 1518 * for this Book <code>Persistent</code>. 1519 * 1520 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1521 * @param cooked the pre-validated value to set 1522 */ 1523 public void setNonstandard_unsafe(Boolean cooked) { 1524 nonstandard = cooked; 1525 } 1526 1527 /** 1528 * Retrieves the Nonstandard value, with locking, for this 1529 * <code>Book</code> <code>Persistent</code>. 1530 * Field description: 1531 * Whether the book has its own non-standard template 1532 * 1533 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1534 * @throws AccessPoemException 1535 * if the current <code>AccessToken</code> 1536 * does not confer write access rights 1537 * @return the value of the field <code>Nonstandard</code> for this 1538 * <code>Book</code> <code>Persistent</code> 1539 */ 1540 1541 public Boolean getNonstandard() 1542 throws AccessPoemException { 1543 readLock(); 1544 return getNonstandard_unsafe(); 1545 } 1546 1547 1548 /** 1549 * Sets the <code>Nonstandard</code> value, with checking, for this 1550 * <code>Book</code> <code>Persistent</code>. 1551 * Field description: 1552 * Whether the book has its own non-standard template 1553 * 1554 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1555 * @param cooked a validated <code>int</code> 1556 * @throws AccessPoemException 1557 * if the current <code>AccessToken</code> 1558 * does not confer write access rights 1559 * @throws ValidationPoemException 1560 * if the value is not valid 1561 */ 1562 public void setNonstandard(Boolean cooked) 1563 throws AccessPoemException, ValidationPoemException { 1564 _getBookTable().getNonstandardColumn(). 1565 getType().assertValidCooked(cooked); 1566 writeLock(); 1567 setNonstandard_unsafe(cooked); 1568 } 1569 1570 /** 1571 * Sets the <code>Nonstandard</code> value, with checking, 1572 * from a <code>boolean</code>, for this 1573 * <code>Book</code> <code>Persistent</code>. 1574 * Field description: 1575 * Whether the book has its own non-standard template 1576 * 1577 * 1578 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 1579 * @param cooked a <code>boolean</code> 1580 * @throws AccessPoemException 1581 * if the current <code>AccessToken</code> 1582 * does not confer write access rights 1583 * @throws ValidationPoemException 1584 * if the value is not valid 1585 */ 1586 1587 public final void setNonstandard(boolean cooked) 1588 throws AccessPoemException, ValidationPoemException { 1589 setNonstandard(cooked ? Boolean.TRUE : Boolean.FALSE); 1590 } 1591 1592 1593 /** 1594 * Retrieves the <code>Nonstandard</code> value as a <code>Field</code> 1595 * from this <code>Book</code> <code>Persistent</code>. 1596 * 1597 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1598 * @throws AccessPoemException 1599 * if the current <code>AccessToken</code> 1600 * does not confer write access rights 1601 * @return the Boolean nonstandard 1602 */ 1603 public Field<Boolean> getNonstandardField() throws AccessPoemException { 1604 Column<Boolean> c = _getBookTable().getNonstandardColumn(); 1605 return new Field<Boolean>((Boolean)c.getRaw(this), c); 1606 } 1607 1608 private CachedSelection<Product> bookProducts = null; 1609 /** References to this Book in the Product table via its book field.*/ 1610 @SuppressWarnings("unchecked") 1611 public Enumeration<Product> getBookProducts() { 1612 if (getTroid() == null) 1613 return new EmptyEnumeration<Product>(); 1614 else { 1615 if (bookProducts == null) 1616 bookProducts = 1617 getBibliomaniaDatabaseTables().getProductTable().getBookColumn().cachedSelectionWhereEq(getTroid()); 1618 return bookProducts.objects(); 1619 } 1620 } 1621 1622 1623 /** References to this Book in the Product table via its book field, as a List.*/ 1624 public List<Product> getBookProductList() { 1625 return Collections.list(getBookProducts()); 1626 } 1627 1628 1629 1630 private CachedSelection<ProductAssociation> bookProductAssociations = null; 1631 /** References to this Book in the ProductAssociation table via its book field.*/ 1632 @SuppressWarnings("unchecked") 1633 public Enumeration<ProductAssociation> getBookProductAssociations() { 1634 if (getTroid() == null) 1635 return new EmptyEnumeration<ProductAssociation>(); 1636 else { 1637 if (bookProductAssociations == null) 1638 bookProductAssociations = 1639 getBibliomaniaDatabaseTables().getProductAssociationTable().getBookColumn().cachedSelectionWhereEq(getTroid()); 1640 return bookProductAssociations.objects(); 1641 } 1642 } 1643 1644 1645 /** References to this Book in the ProductAssociation table via its book field, as a List.*/ 1646 public List<ProductAssociation> getBookProductAssociationList() { 1647 return Collections.list(getBookProductAssociations()); 1648 } 1649 1650 1651 1652 private CachedSelection<BookStocking> bookBookStockings = null; 1653 /** References to this Book in the BookStocking table via its book field.*/ 1654 @SuppressWarnings("unchecked") 1655 public Enumeration<BookStocking> getBookBookStockings() { 1656 if (getTroid() == null) 1657 return new EmptyEnumeration<BookStocking>(); 1658 else { 1659 if (bookBookStockings == null) 1660 bookBookStockings = 1661 getBibliomaniaDatabaseTables().getBookStockingTable().getBookColumn().cachedSelectionWhereEq(getTroid()); 1662 return bookBookStockings.objects(); 1663 } 1664 } 1665 1666 1667 /** References to this Book in the BookStocking table via its book field, as a List.*/ 1668 public List<BookStocking> getBookBookStockingList() { 1669 return Collections.list(getBookBookStockings()); 1670 } 1671 1672 1673 1674 } 1675