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.util.Collections; 7 import java.util.Enumeration; 8 import java.util.List; 9 import org.melati.poem.AccessPoemException; 10 import org.melati.poem.CachedSelection; 11 import org.melati.poem.Column; 12 import org.melati.poem.Field; 13 import org.melati.poem.NoSuchRowPoemException; 14 import org.melati.poem.ValidationPoemException; 15 import org.melati.poem.util.EmptyEnumeration; 16 import org.paneris.bibliomania.Advert; 17 import org.paneris.bibliomania.Author; 18 import org.paneris.bibliomania.AuthorTable; 19 import org.paneris.bibliomania.AuthorWebSite; 20 import org.paneris.bibliomania.BibliomaniaDatabaseTables; 21 import org.paneris.bibliomania.ProductAssociation; 22 import org.paneris.bibliomania.Section; 23 import org.paneris.bibliomania.Unit; 24 25 26 /** 27 * Melati POEM generated abstract base class for a <code>Persistent</code> 28 * <code>Author</code> Object. 29 * 30 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 31 */ 32 public abstract class AuthorBase extends Unit { 33 34 35 /** 36 * Retrieves the Database object. 37 * 38 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 39 * @return the database 40 */ 41 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() { 42 return (BibliomaniaDatabaseTables)getDatabase(); 43 } 44 45 46 /** 47 * Retrieves the <code>AuthorTable</code> table 48 * which this <code>Persistent</code> is from. 49 * 50 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 51 * @return the AuthorTable 52 */ 53 @SuppressWarnings("unchecked") 54 public AuthorTable<Author> getAuthorTable() { 55 return (AuthorTable<Author>)getTable(); 56 } 57 58 @SuppressWarnings("unchecked") 59 private AuthorTable<Author> _getAuthorTable() { 60 return (AuthorTable<Author>)getTable(); 61 } 62 63 // Fields in this table 64 /** 65 * id 66 */ 67 protected Integer id; 68 /** 69 * Short name - The author's full name in short form (`Yule and Burnell') 70 */ 71 protected String displayname; 72 /** 73 * Long name - The author's full name in long form (`Col Henry Yule and A. 74 * C. Burnell'), if different 75 */ 76 protected String longnameifdifferent; 77 /** 78 * sortname - A name by which the author should be sorted (`Fenimore Cooper, 79 * James') 80 */ 81 protected String sortname; 82 /** 83 * section 84 */ 85 protected Integer section; 86 /** 87 * advert - Advert for this author 88 */ 89 protected Integer advert; 90 /** 91 * metatag_description 92 */ 93 protected String metatag_description; 94 /** 95 * metatag_keywords 96 */ 97 protected String metatag_keywords; 98 /** 99 * Image file name - The name, within the book directory, of an image of the 100 * author 101 */ 102 protected String imagefilename; 103 /** 104 * blurb - A short blurb to go next to the author image 105 */ 106 protected String blurb; 107 /** 108 * biography - A biography for the author 109 */ 110 protected String biography; 111 /** 112 * nonstandard - If set then Author.wm is not used, any .wm files in the 113 * directory, such as index.wm, are used. 114 */ 115 protected Boolean nonstandard; 116 117 118 /** 119 * Retrieves the <code>Id</code> value, without locking, 120 * for this <code>Author</code> <code>Persistent</code>. 121 * 122 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 123 * @return the Integer id 124 */ 125 public Integer getId_unsafe() { 126 return id; 127 } 128 129 130 /** 131 * Sets the <code>Id</code> value directly, without checking, 132 * for this Author <code>Persistent</code>. 133 * 134 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 135 * @param cooked the pre-validated value to set 136 */ 137 public void setId_unsafe(Integer cooked) { 138 id = cooked; 139 } 140 141 /** 142 * Retrieves the Id value, with locking, for this 143 * <code>Author</code> <code>Persistent</code>. 144 * 145 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 146 * @throws AccessPoemException 147 * if the current <code>AccessToken</code> 148 * does not confer write access rights 149 * @return the value of the field <code>Id</code> for this 150 * <code>Author</code> <code>Persistent</code> 151 */ 152 153 public Integer getId() 154 throws AccessPoemException { 155 readLock(); 156 return getId_unsafe(); 157 } 158 159 160 /** 161 * Sets the <code>Id</code> value, with checking, for this 162 * <code>Author</code> <code>Persistent</code>. 163 * 164 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 165 * @param cooked a validated <code>int</code> 166 * @throws AccessPoemException 167 * if the current <code>AccessToken</code> 168 * does not confer write access rights 169 * @throws ValidationPoemException 170 * if the value is not valid 171 */ 172 public void setId(Integer cooked) 173 throws AccessPoemException, ValidationPoemException { 174 _getAuthorTable().getIdColumn(). 175 getType().assertValidCooked(cooked); 176 writeLock(); 177 setId_unsafe(cooked); 178 } 179 180 /** 181 * Sets the <code>Id</code> value, with checking, for this 182 * <code>Author</code> <code>Persistent</code>. 183 * 184 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 185 * @param cooked a validated <code>int</code> 186 * @throws AccessPoemException 187 * if the current <code>AccessToken</code> 188 * does not confer write access rights 189 * @throws ValidationPoemException 190 * if the value is not valid 191 */ 192 193 public final void setId(int cooked) 194 throws AccessPoemException, ValidationPoemException { 195 setId(new Integer(cooked)); 196 } 197 198 199 /** 200 * Retrieves the <code>Id</code> value as a <code>Field</code> 201 * from this <code>Author</code> <code>Persistent</code>. 202 * 203 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 204 * @throws AccessPoemException 205 * if the current <code>AccessToken</code> 206 * does not confer write access rights 207 * @return the Integer id 208 */ 209 public Field<Integer> getIdField() throws AccessPoemException { 210 Column<Integer> c = _getAuthorTable().getIdColumn(); 211 return new Field<Integer>((Integer)c.getRaw(this), c); 212 } 213 214 215 /** 216 * Retrieves the <code>Displayname</code> value, without locking, 217 * for this <code>Author</code> <code>Persistent</code>. 218 * 219 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 220 * @return the String displayname 221 */ 222 public String getDisplayname_unsafe() { 223 return displayname; 224 } 225 226 227 /** 228 * Sets the <code>Displayname</code> value directly, without checking, 229 * for this Author <code>Persistent</code>. 230 * 231 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 232 * @param cooked the pre-validated value to set 233 */ 234 public void setDisplayname_unsafe(String cooked) { 235 displayname = cooked; 236 } 237 238 /** 239 * Retrieves the Displayname value, with locking, for this 240 * <code>Author</code> <code>Persistent</code>. 241 * Field description: 242 * The author's full name in short form (`Yule and Burnell') 243 * 244 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 245 * @throws AccessPoemException 246 * if the current <code>AccessToken</code> 247 * does not confer write access rights 248 * @return the value of the field <code>Displayname</code> for this 249 * <code>Author</code> <code>Persistent</code> 250 */ 251 252 public String getDisplayname() 253 throws AccessPoemException { 254 readLock(); 255 return getDisplayname_unsafe(); 256 } 257 258 259 /** 260 * Sets the <code>Displayname</code> value, with checking, for this 261 * <code>Author</code> <code>Persistent</code>. 262 * Field description: 263 * The author's full name in short form (`Yule and Burnell') 264 * 265 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 266 * @param cooked a validated <code>int</code> 267 * @throws AccessPoemException 268 * if the current <code>AccessToken</code> 269 * does not confer write access rights 270 * @throws ValidationPoemException 271 * if the value is not valid 272 */ 273 public void setDisplayname(String cooked) 274 throws AccessPoemException, ValidationPoemException { 275 _getAuthorTable().getDisplaynameColumn(). 276 getType().assertValidCooked(cooked); 277 writeLock(); 278 setDisplayname_unsafe(cooked); 279 } 280 281 282 /** 283 * Retrieves the <code>Displayname</code> value as a <code>Field</code> 284 * from this <code>Author</code> <code>Persistent</code>. 285 * 286 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 287 * @throws AccessPoemException 288 * if the current <code>AccessToken</code> 289 * does not confer write access rights 290 * @return the String displayname 291 */ 292 public Field<String> getDisplaynameField() throws AccessPoemException { 293 Column<String> c = _getAuthorTable().getDisplaynameColumn(); 294 return new Field<String>((String)c.getRaw(this), c); 295 } 296 297 298 /** 299 * Retrieves the <code>Longnameifdifferent</code> value, without locking, 300 * for this <code>Author</code> <code>Persistent</code>. 301 * 302 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 303 * @return the String longnameifdifferent 304 */ 305 public String getLongnameifdifferent_unsafe() { 306 return longnameifdifferent; 307 } 308 309 310 /** 311 * Sets the <code>Longnameifdifferent</code> value directly, without checking, 312 * for this Author <code>Persistent</code>. 313 * 314 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 315 * @param cooked the pre-validated value to set 316 */ 317 public void setLongnameifdifferent_unsafe(String cooked) { 318 longnameifdifferent = cooked; 319 } 320 321 /** 322 * Retrieves the Longnameifdifferent value, with locking, for this 323 * <code>Author</code> <code>Persistent</code>. 324 * Field description: 325 * The author's full name in long form (`Col Henry Yule and A. C. 326 * Burnell'), if different 327 * 328 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 329 * @throws AccessPoemException 330 * if the current <code>AccessToken</code> 331 * does not confer write access rights 332 * @return the value of the field <code>Longnameifdifferent</code> for this 333 * <code>Author</code> <code>Persistent</code> 334 */ 335 336 public String getLongnameifdifferent() 337 throws AccessPoemException { 338 readLock(); 339 return getLongnameifdifferent_unsafe(); 340 } 341 342 343 /** 344 * Sets the <code>Longnameifdifferent</code> value, with checking, for this 345 * <code>Author</code> <code>Persistent</code>. 346 * Field description: 347 * The author's full name in long form (`Col Henry Yule and A. C. 348 * Burnell'), if different 349 * 350 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 351 * @param cooked a validated <code>int</code> 352 * @throws AccessPoemException 353 * if the current <code>AccessToken</code> 354 * does not confer write access rights 355 * @throws ValidationPoemException 356 * if the value is not valid 357 */ 358 public void setLongnameifdifferent(String cooked) 359 throws AccessPoemException, ValidationPoemException { 360 _getAuthorTable().getLongnameifdifferentColumn(). 361 getType().assertValidCooked(cooked); 362 writeLock(); 363 setLongnameifdifferent_unsafe(cooked); 364 } 365 366 367 /** 368 * Retrieves the <code>Longnameifdifferent</code> value as a <code>Field</code> 369 * from this <code>Author</code> <code>Persistent</code>. 370 * 371 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 372 * @throws AccessPoemException 373 * if the current <code>AccessToken</code> 374 * does not confer write access rights 375 * @return the String longnameifdifferent 376 */ 377 public Field<String> getLongnameifdifferentField() throws AccessPoemException { 378 Column<String> c = _getAuthorTable().getLongnameifdifferentColumn(); 379 return new Field<String>((String)c.getRaw(this), c); 380 } 381 382 383 /** 384 * Retrieves the <code>Sortname</code> value, without locking, 385 * for this <code>Author</code> <code>Persistent</code>. 386 * 387 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 388 * @return the String sortname 389 */ 390 public String getSortname_unsafe() { 391 return sortname; 392 } 393 394 395 /** 396 * Sets the <code>Sortname</code> value directly, without checking, 397 * for this Author <code>Persistent</code>. 398 * 399 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 400 * @param cooked the pre-validated value to set 401 */ 402 public void setSortname_unsafe(String cooked) { 403 sortname = cooked; 404 } 405 406 /** 407 * Retrieves the Sortname value, with locking, for this 408 * <code>Author</code> <code>Persistent</code>. 409 * Field description: 410 * A name by which the author should be sorted (`Fenimore Cooper, James') 411 * 412 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 413 * @throws AccessPoemException 414 * if the current <code>AccessToken</code> 415 * does not confer write access rights 416 * @return the value of the field <code>Sortname</code> for this 417 * <code>Author</code> <code>Persistent</code> 418 */ 419 420 public String getSortname() 421 throws AccessPoemException { 422 readLock(); 423 return getSortname_unsafe(); 424 } 425 426 427 /** 428 * Sets the <code>Sortname</code> value, with checking, for this 429 * <code>Author</code> <code>Persistent</code>. 430 * Field description: 431 * A name by which the author should be sorted (`Fenimore Cooper, James') 432 * 433 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 434 * @param cooked a validated <code>int</code> 435 * @throws AccessPoemException 436 * if the current <code>AccessToken</code> 437 * does not confer write access rights 438 * @throws ValidationPoemException 439 * if the value is not valid 440 */ 441 public void setSortname(String cooked) 442 throws AccessPoemException, ValidationPoemException { 443 _getAuthorTable().getSortnameColumn(). 444 getType().assertValidCooked(cooked); 445 writeLock(); 446 setSortname_unsafe(cooked); 447 } 448 449 450 /** 451 * Retrieves the <code>Sortname</code> value as a <code>Field</code> 452 * from this <code>Author</code> <code>Persistent</code>. 453 * 454 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 455 * @throws AccessPoemException 456 * if the current <code>AccessToken</code> 457 * does not confer write access rights 458 * @return the String sortname 459 */ 460 public Field<String> getSortnameField() throws AccessPoemException { 461 Column<String> c = _getAuthorTable().getSortnameColumn(); 462 return new Field<String>((String)c.getRaw(this), c); 463 } 464 465 466 /** 467 * Retrieves the <code>Section</code> value, without locking, 468 * for this <code>Author</code> <code>Persistent</code>. 469 * 470 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 471 * @return the Integer section 472 */ 473 public Integer getSection_unsafe() { 474 return section; 475 } 476 477 478 /** 479 * Sets the <code>Section</code> value directly, without checking, 480 * for this Author <code>Persistent</code>. 481 * 482 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 483 * @param cooked the pre-validated value to set 484 */ 485 public void setSection_unsafe(Integer cooked) { 486 section = cooked; 487 } 488 489 /** 490 * Retrieves the Table Row Object ID. 491 * 492 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 493 * @throws AccessPoemException 494 * if the current <code>AccessToken</code> 495 * does not confer read access rights 496 * @return the TROID as an <code>Integer</code> 497 */ 498 499 public Integer getSectionTroid() 500 throws AccessPoemException { 501 readLock(); 502 return getSection_unsafe(); 503 } 504 505 506 /** 507 * Sets the Table Row Object ID. 508 * 509 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 510 * @param raw a Table Row Object Id 511 * @throws AccessPoemException 512 * if the current <code>AccessToken</code> 513 * does not confer write access rights 514 */ 515 public void setSectionTroid(Integer raw) 516 throws AccessPoemException { 517 setSection(raw == null ? null : 518 (Section)getBibliomaniaDatabaseTables().getSectionTable().getSectionObject(raw)); 519 } 520 521 522 /** 523 * Retrieves the <code>Section</code> object referred to. 524 * 525 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 526 * @throws AccessPoemException 527 * if the current <code>AccessToken</code> 528 * does not confer read access rights 529 * @throws NoSuchRowPoemException 530 * if the <code>Persistent</code> has yet to be allocated a TROID 531 * @return the <code>Section</code> as a <code>Section</code> 532 */ 533 public Section getSection() 534 throws AccessPoemException, NoSuchRowPoemException { 535 Integer troid = getSectionTroid(); 536 return troid == null ? null : 537 (Section)getBibliomaniaDatabaseTables().getSectionTable().getSectionObject(troid); 538 } 539 540 541 /** 542 * Set the Section. 543 * 544 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 545 * @param cooked a validated <code>Section</code> 546 * @throws AccessPoemException 547 * if the current <code>AccessToken</code> 548 * does not confer write access rights 549 */ 550 public void setSection(Section cooked) 551 throws AccessPoemException { 552 _getAuthorTable(). 553 getSectionColumn(). 554 getType().assertValidCooked(cooked); 555 writeLock(); 556 if (cooked == null) 557 setSection_unsafe(null); 558 else { 559 cooked.existenceLock(); 560 setSection_unsafe(cooked.troid()); 561 } 562 } 563 564 565 /** 566 * Retrieves the <code>Section</code> value as a <code>Field</code> 567 * from this <code>Author</code> <code>Persistent</code>. 568 * 569 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 570 * @throws AccessPoemException 571 * if the current <code>AccessToken</code> 572 * does not confer write access rights 573 * @return the Integer section 574 */ 575 public Field<Integer> getSectionField() throws AccessPoemException { 576 Column<Integer> c = _getAuthorTable().getSectionColumn(); 577 return new Field<Integer>((Integer)c.getRaw(this), c); 578 } 579 580 581 /** 582 * Retrieves the <code>Advert</code> value, without locking, 583 * for this <code>Author</code> <code>Persistent</code>. 584 * 585 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 586 * @return the Integer advert 587 */ 588 public Integer getAdvert_unsafe() { 589 return advert; 590 } 591 592 593 /** 594 * Sets the <code>Advert</code> value directly, without checking, 595 * for this Author <code>Persistent</code>. 596 * 597 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 598 * @param cooked the pre-validated value to set 599 */ 600 public void setAdvert_unsafe(Integer cooked) { 601 advert = cooked; 602 } 603 604 /** 605 * Retrieves the Table Row Object ID. 606 * 607 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 608 * @throws AccessPoemException 609 * if the current <code>AccessToken</code> 610 * does not confer read access rights 611 * @return the TROID as an <code>Integer</code> 612 */ 613 614 public Integer getAdvertTroid() 615 throws AccessPoemException { 616 readLock(); 617 return getAdvert_unsafe(); 618 } 619 620 621 /** 622 * Sets the Table Row Object ID. 623 * 624 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 625 * @param raw a Table Row Object Id 626 * @throws AccessPoemException 627 * if the current <code>AccessToken</code> 628 * does not confer write access rights 629 */ 630 public void setAdvertTroid(Integer raw) 631 throws AccessPoemException { 632 setAdvert(raw == null ? null : 633 getBibliomaniaDatabaseTables().getAdvertTable().getAdvertObject(raw)); 634 } 635 636 637 /** 638 * Retrieves the <code>Advert</code> object referred to. 639 * 640 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 641 * @throws AccessPoemException 642 * if the current <code>AccessToken</code> 643 * does not confer read access rights 644 * @throws NoSuchRowPoemException 645 * if the <code>Persistent</code> has yet to be allocated a TROID 646 * @return the <code>Advert</code> as a <code>Advert</code> 647 */ 648 public Advert getAdvert() 649 throws AccessPoemException, NoSuchRowPoemException { 650 Integer troid = getAdvertTroid(); 651 return troid == null ? null : 652 getBibliomaniaDatabaseTables().getAdvertTable().getAdvertObject(troid); 653 } 654 655 656 /** 657 * Set the Advert. 658 * 659 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 660 * @param cooked a validated <code>Advert</code> 661 * @throws AccessPoemException 662 * if the current <code>AccessToken</code> 663 * does not confer write access rights 664 */ 665 public void setAdvert(Advert cooked) 666 throws AccessPoemException { 667 _getAuthorTable(). 668 getAdvertColumn(). 669 getType().assertValidCooked(cooked); 670 writeLock(); 671 if (cooked == null) 672 setAdvert_unsafe(null); 673 else { 674 cooked.existenceLock(); 675 setAdvert_unsafe(cooked.troid()); 676 } 677 } 678 679 680 /** 681 * Retrieves the <code>Advert</code> value as a <code>Field</code> 682 * from this <code>Author</code> <code>Persistent</code>. 683 * 684 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 685 * @throws AccessPoemException 686 * if the current <code>AccessToken</code> 687 * does not confer write access rights 688 * @return the Integer advert 689 */ 690 public Field<Integer> getAdvertField() throws AccessPoemException { 691 Column<Integer> c = _getAuthorTable().getAdvertColumn(); 692 return new Field<Integer>((Integer)c.getRaw(this), c); 693 } 694 695 696 /** 697 * Retrieves the <code>Metatag_description</code> value, without locking, 698 * for this <code>Author</code> <code>Persistent</code>. 699 * 700 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 701 * @return the String metatag_description 702 */ 703 public String getMetatag_description_unsafe() { 704 return metatag_description; 705 } 706 707 708 /** 709 * Sets the <code>Metatag_description</code> value directly, without checking, 710 * for this Author <code>Persistent</code>. 711 * 712 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 713 * @param cooked the pre-validated value to set 714 */ 715 public void setMetatag_description_unsafe(String cooked) { 716 metatag_description = cooked; 717 } 718 719 /** 720 * Retrieves the Metatag_description value, with locking, for this 721 * <code>Author</code> <code>Persistent</code>. 722 * 723 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 724 * @throws AccessPoemException 725 * if the current <code>AccessToken</code> 726 * does not confer write access rights 727 * @return the value of the field <code>Metatag_description</code> for this 728 * <code>Author</code> <code>Persistent</code> 729 */ 730 731 public String getMetatag_description() 732 throws AccessPoemException { 733 readLock(); 734 return getMetatag_description_unsafe(); 735 } 736 737 738 /** 739 * Sets the <code>Metatag_description</code> value, with checking, for this 740 * <code>Author</code> <code>Persistent</code>. 741 * 742 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 743 * @param cooked a validated <code>int</code> 744 * @throws AccessPoemException 745 * if the current <code>AccessToken</code> 746 * does not confer write access rights 747 * @throws ValidationPoemException 748 * if the value is not valid 749 */ 750 public void setMetatag_description(String cooked) 751 throws AccessPoemException, ValidationPoemException { 752 _getAuthorTable().getMetatag_descriptionColumn(). 753 getType().assertValidCooked(cooked); 754 writeLock(); 755 setMetatag_description_unsafe(cooked); 756 } 757 758 759 /** 760 * Retrieves the <code>Metatag_description</code> value as a <code>Field</code> 761 * from this <code>Author</code> <code>Persistent</code>. 762 * 763 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 764 * @throws AccessPoemException 765 * if the current <code>AccessToken</code> 766 * does not confer write access rights 767 * @return the String metatag_description 768 */ 769 public Field<String> getMetatag_descriptionField() throws AccessPoemException { 770 Column<String> c = _getAuthorTable().getMetatag_descriptionColumn(); 771 return new Field<String>((String)c.getRaw(this), c); 772 } 773 774 775 /** 776 * Retrieves the <code>Metatag_keywords</code> value, without locking, 777 * for this <code>Author</code> <code>Persistent</code>. 778 * 779 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 780 * @return the String metatag_keywords 781 */ 782 public String getMetatag_keywords_unsafe() { 783 return metatag_keywords; 784 } 785 786 787 /** 788 * Sets the <code>Metatag_keywords</code> value directly, without checking, 789 * for this Author <code>Persistent</code>. 790 * 791 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 792 * @param cooked the pre-validated value to set 793 */ 794 public void setMetatag_keywords_unsafe(String cooked) { 795 metatag_keywords = cooked; 796 } 797 798 /** 799 * Retrieves the Metatag_keywords value, with locking, for this 800 * <code>Author</code> <code>Persistent</code>. 801 * 802 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 803 * @throws AccessPoemException 804 * if the current <code>AccessToken</code> 805 * does not confer write access rights 806 * @return the value of the field <code>Metatag_keywords</code> for this 807 * <code>Author</code> <code>Persistent</code> 808 */ 809 810 public String getMetatag_keywords() 811 throws AccessPoemException { 812 readLock(); 813 return getMetatag_keywords_unsafe(); 814 } 815 816 817 /** 818 * Sets the <code>Metatag_keywords</code> value, with checking, for this 819 * <code>Author</code> <code>Persistent</code>. 820 * 821 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 822 * @param cooked a validated <code>int</code> 823 * @throws AccessPoemException 824 * if the current <code>AccessToken</code> 825 * does not confer write access rights 826 * @throws ValidationPoemException 827 * if the value is not valid 828 */ 829 public void setMetatag_keywords(String cooked) 830 throws AccessPoemException, ValidationPoemException { 831 _getAuthorTable().getMetatag_keywordsColumn(). 832 getType().assertValidCooked(cooked); 833 writeLock(); 834 setMetatag_keywords_unsafe(cooked); 835 } 836 837 838 /** 839 * Retrieves the <code>Metatag_keywords</code> value as a <code>Field</code> 840 * from this <code>Author</code> <code>Persistent</code>. 841 * 842 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 843 * @throws AccessPoemException 844 * if the current <code>AccessToken</code> 845 * does not confer write access rights 846 * @return the String metatag_keywords 847 */ 848 public Field<String> getMetatag_keywordsField() throws AccessPoemException { 849 Column<String> c = _getAuthorTable().getMetatag_keywordsColumn(); 850 return new Field<String>((String)c.getRaw(this), c); 851 } 852 853 854 /** 855 * Retrieves the <code>Imagefilename</code> value, without locking, 856 * for this <code>Author</code> <code>Persistent</code>. 857 * 858 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 859 * @return the String imagefilename 860 */ 861 public String getImagefilename_unsafe() { 862 return imagefilename; 863 } 864 865 866 /** 867 * Sets the <code>Imagefilename</code> value directly, without checking, 868 * for this Author <code>Persistent</code>. 869 * 870 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 871 * @param cooked the pre-validated value to set 872 */ 873 public void setImagefilename_unsafe(String cooked) { 874 imagefilename = cooked; 875 } 876 877 /** 878 * Retrieves the Imagefilename value, with locking, for this 879 * <code>Author</code> <code>Persistent</code>. 880 * Field description: 881 * The name, within the book directory, of an image of the author 882 * 883 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 884 * @throws AccessPoemException 885 * if the current <code>AccessToken</code> 886 * does not confer write access rights 887 * @return the value of the field <code>Imagefilename</code> for this 888 * <code>Author</code> <code>Persistent</code> 889 */ 890 891 public String getImagefilename() 892 throws AccessPoemException { 893 readLock(); 894 return getImagefilename_unsafe(); 895 } 896 897 898 /** 899 * Sets the <code>Imagefilename</code> value, with checking, for this 900 * <code>Author</code> <code>Persistent</code>. 901 * Field description: 902 * The name, within the book directory, of an image of the author 903 * 904 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 905 * @param cooked a validated <code>int</code> 906 * @throws AccessPoemException 907 * if the current <code>AccessToken</code> 908 * does not confer write access rights 909 * @throws ValidationPoemException 910 * if the value is not valid 911 */ 912 public void setImagefilename(String cooked) 913 throws AccessPoemException, ValidationPoemException { 914 _getAuthorTable().getImagefilenameColumn(). 915 getType().assertValidCooked(cooked); 916 writeLock(); 917 setImagefilename_unsafe(cooked); 918 } 919 920 921 /** 922 * Retrieves the <code>Imagefilename</code> value as a <code>Field</code> 923 * from this <code>Author</code> <code>Persistent</code>. 924 * 925 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 926 * @throws AccessPoemException 927 * if the current <code>AccessToken</code> 928 * does not confer write access rights 929 * @return the String imagefilename 930 */ 931 public Field<String> getImagefilenameField() throws AccessPoemException { 932 Column<String> c = _getAuthorTable().getImagefilenameColumn(); 933 return new Field<String>((String)c.getRaw(this), c); 934 } 935 936 937 /** 938 * Retrieves the <code>Blurb</code> value, without locking, 939 * for this <code>Author</code> <code>Persistent</code>. 940 * 941 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 942 * @return the String blurb 943 */ 944 public String getBlurb_unsafe() { 945 return blurb; 946 } 947 948 949 /** 950 * Sets the <code>Blurb</code> value directly, without checking, 951 * for this Author <code>Persistent</code>. 952 * 953 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 954 * @param cooked the pre-validated value to set 955 */ 956 public void setBlurb_unsafe(String cooked) { 957 blurb = cooked; 958 } 959 960 /** 961 * Retrieves the Blurb value, with locking, for this 962 * <code>Author</code> <code>Persistent</code>. 963 * Field description: 964 * A short blurb to go next to the author image 965 * 966 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 967 * @throws AccessPoemException 968 * if the current <code>AccessToken</code> 969 * does not confer write access rights 970 * @return the value of the field <code>Blurb</code> for this 971 * <code>Author</code> <code>Persistent</code> 972 */ 973 974 public String getBlurb() 975 throws AccessPoemException { 976 readLock(); 977 return getBlurb_unsafe(); 978 } 979 980 981 /** 982 * Sets the <code>Blurb</code> value, with checking, for this 983 * <code>Author</code> <code>Persistent</code>. 984 * Field description: 985 * A short blurb to go next to the author image 986 * 987 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 988 * @param cooked a validated <code>int</code> 989 * @throws AccessPoemException 990 * if the current <code>AccessToken</code> 991 * does not confer write access rights 992 * @throws ValidationPoemException 993 * if the value is not valid 994 */ 995 public void setBlurb(String cooked) 996 throws AccessPoemException, ValidationPoemException { 997 _getAuthorTable().getBlurbColumn(). 998 getType().assertValidCooked(cooked); 999 writeLock(); 1000 setBlurb_unsafe(cooked); 1001 } 1002 1003 1004 /** 1005 * Retrieves the <code>Blurb</code> value as a <code>Field</code> 1006 * from this <code>Author</code> <code>Persistent</code>. 1007 * 1008 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1009 * @throws AccessPoemException 1010 * if the current <code>AccessToken</code> 1011 * does not confer write access rights 1012 * @return the String blurb 1013 */ 1014 public Field<String> getBlurbField() throws AccessPoemException { 1015 Column<String> c = _getAuthorTable().getBlurbColumn(); 1016 return new Field<String>((String)c.getRaw(this), c); 1017 } 1018 1019 1020 /** 1021 * Retrieves the <code>Biography</code> value, without locking, 1022 * for this <code>Author</code> <code>Persistent</code>. 1023 * 1024 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1025 * @return the String biography 1026 */ 1027 public String getBiography_unsafe() { 1028 return biography; 1029 } 1030 1031 1032 /** 1033 * Sets the <code>Biography</code> value directly, without checking, 1034 * for this Author <code>Persistent</code>. 1035 * 1036 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1037 * @param cooked the pre-validated value to set 1038 */ 1039 public void setBiography_unsafe(String cooked) { 1040 biography = cooked; 1041 } 1042 1043 /** 1044 * Retrieves the Biography value, with locking, for this 1045 * <code>Author</code> <code>Persistent</code>. 1046 * Field description: 1047 * A biography for the author 1048 * 1049 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1050 * @throws AccessPoemException 1051 * if the current <code>AccessToken</code> 1052 * does not confer write access rights 1053 * @return the value of the field <code>Biography</code> for this 1054 * <code>Author</code> <code>Persistent</code> 1055 */ 1056 1057 public String getBiography() 1058 throws AccessPoemException { 1059 readLock(); 1060 return getBiography_unsafe(); 1061 } 1062 1063 1064 /** 1065 * Sets the <code>Biography</code> value, with checking, for this 1066 * <code>Author</code> <code>Persistent</code>. 1067 * Field description: 1068 * A biography for the author 1069 * 1070 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1071 * @param cooked a validated <code>int</code> 1072 * @throws AccessPoemException 1073 * if the current <code>AccessToken</code> 1074 * does not confer write access rights 1075 * @throws ValidationPoemException 1076 * if the value is not valid 1077 */ 1078 public void setBiography(String cooked) 1079 throws AccessPoemException, ValidationPoemException { 1080 _getAuthorTable().getBiographyColumn(). 1081 getType().assertValidCooked(cooked); 1082 writeLock(); 1083 setBiography_unsafe(cooked); 1084 } 1085 1086 1087 /** 1088 * Retrieves the <code>Biography</code> value as a <code>Field</code> 1089 * from this <code>Author</code> <code>Persistent</code>. 1090 * 1091 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1092 * @throws AccessPoemException 1093 * if the current <code>AccessToken</code> 1094 * does not confer write access rights 1095 * @return the String biography 1096 */ 1097 public Field<String> getBiographyField() throws AccessPoemException { 1098 Column<String> c = _getAuthorTable().getBiographyColumn(); 1099 return new Field<String>((String)c.getRaw(this), c); 1100 } 1101 1102 1103 /** 1104 * Retrieves the <code>Nonstandard</code> value, without locking, 1105 * for this <code>Author</code> <code>Persistent</code>. 1106 * 1107 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1108 * @return the Boolean nonstandard 1109 */ 1110 public Boolean getNonstandard_unsafe() { 1111 return nonstandard; 1112 } 1113 1114 1115 /** 1116 * Sets the <code>Nonstandard</code> value directly, without checking, 1117 * for this Author <code>Persistent</code>. 1118 * 1119 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1120 * @param cooked the pre-validated value to set 1121 */ 1122 public void setNonstandard_unsafe(Boolean cooked) { 1123 nonstandard = cooked; 1124 } 1125 1126 /** 1127 * Retrieves the Nonstandard value, with locking, for this 1128 * <code>Author</code> <code>Persistent</code>. 1129 * Field description: 1130 * If set then Author.wm is not used, any .wm files in the directory, such 1131 * as index.wm, are used. 1132 * 1133 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1134 * @throws AccessPoemException 1135 * if the current <code>AccessToken</code> 1136 * does not confer write access rights 1137 * @return the value of the field <code>Nonstandard</code> for this 1138 * <code>Author</code> <code>Persistent</code> 1139 */ 1140 1141 public Boolean getNonstandard() 1142 throws AccessPoemException { 1143 readLock(); 1144 return getNonstandard_unsafe(); 1145 } 1146 1147 1148 /** 1149 * Sets the <code>Nonstandard</code> value, with checking, for this 1150 * <code>Author</code> <code>Persistent</code>. 1151 * Field description: 1152 * If set then Author.wm is not used, any .wm files in the directory, such 1153 * as index.wm, are used. 1154 * 1155 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1156 * @param cooked a validated <code>int</code> 1157 * @throws AccessPoemException 1158 * if the current <code>AccessToken</code> 1159 * does not confer write access rights 1160 * @throws ValidationPoemException 1161 * if the value is not valid 1162 */ 1163 public void setNonstandard(Boolean cooked) 1164 throws AccessPoemException, ValidationPoemException { 1165 _getAuthorTable().getNonstandardColumn(). 1166 getType().assertValidCooked(cooked); 1167 writeLock(); 1168 setNonstandard_unsafe(cooked); 1169 } 1170 1171 /** 1172 * Sets the <code>Nonstandard</code> value, with checking, 1173 * from a <code>boolean</code>, for this 1174 * <code>Author</code> <code>Persistent</code>. 1175 * Field description: 1176 * If set then Author.wm is not used, any .wm files in the directory, such 1177 * as index.wm, are used. 1178 * 1179 * 1180 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 1181 * @param cooked a <code>boolean</code> 1182 * @throws AccessPoemException 1183 * if the current <code>AccessToken</code> 1184 * does not confer write access rights 1185 * @throws ValidationPoemException 1186 * if the value is not valid 1187 */ 1188 1189 public final void setNonstandard(boolean cooked) 1190 throws AccessPoemException, ValidationPoemException { 1191 setNonstandard(cooked ? Boolean.TRUE : Boolean.FALSE); 1192 } 1193 1194 1195 /** 1196 * Retrieves the <code>Nonstandard</code> value as a <code>Field</code> 1197 * from this <code>Author</code> <code>Persistent</code>. 1198 * 1199 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1200 * @throws AccessPoemException 1201 * if the current <code>AccessToken</code> 1202 * does not confer write access rights 1203 * @return the Boolean nonstandard 1204 */ 1205 public Field<Boolean> getNonstandardField() throws AccessPoemException { 1206 Column<Boolean> c = _getAuthorTable().getNonstandardColumn(); 1207 return new Field<Boolean>((Boolean)c.getRaw(this), c); 1208 } 1209 1210 private CachedSelection<AuthorWebSite> authorAuthorWebSites = null; 1211 /** References to this Author in the AuthorWebSite table via its author field.*/ 1212 @SuppressWarnings("unchecked") 1213 public Enumeration<AuthorWebSite> getAuthorAuthorWebSites() { 1214 if (getTroid() == null) 1215 return new EmptyEnumeration<AuthorWebSite>(); 1216 else { 1217 if (authorAuthorWebSites == null) 1218 authorAuthorWebSites = 1219 getBibliomaniaDatabaseTables().getAuthorWebSiteTable().getAuthorColumn().cachedSelectionWhereEq(getTroid()); 1220 return authorAuthorWebSites.objects(); 1221 } 1222 } 1223 1224 1225 /** References to this Author in the AuthorWebSite table via its author field, as a List.*/ 1226 public List<AuthorWebSite> getAuthorAuthorWebSiteList() { 1227 return Collections.list(getAuthorAuthorWebSites()); 1228 } 1229 1230 1231 1232 private CachedSelection<ProductAssociation> authorProductAssociations = null; 1233 /** References to this Author in the ProductAssociation table via its author field.*/ 1234 @SuppressWarnings("unchecked") 1235 public Enumeration<ProductAssociation> getAuthorProductAssociations() { 1236 if (getTroid() == null) 1237 return new EmptyEnumeration<ProductAssociation>(); 1238 else { 1239 if (authorProductAssociations == null) 1240 authorProductAssociations = 1241 getBibliomaniaDatabaseTables().getProductAssociationTable().getAuthorColumn().cachedSelectionWhereEq(getTroid()); 1242 return authorProductAssociations.objects(); 1243 } 1244 } 1245 1246 1247 /** References to this Author in the ProductAssociation table via its author field, as a List.*/ 1248 public List<ProductAssociation> getAuthorProductAssociationList() { 1249 return Collections.list(getAuthorProductAssociations()); 1250 } 1251 1252 1253 1254 } 1255