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.Column; 13 import org.melati.poem.Field; 14 import org.melati.poem.GroupMembership; 15 import org.melati.poem.NoSuchRowPoemException; 16 import org.melati.poem.ValidationPoemException; 17 import org.melati.poem.util.EmptyEnumeration; 18 import org.paneris.bibliomania.BibliomaniaDatabaseTables; 19 import org.paneris.bibliomania.CampaignUser; 20 import org.paneris.bibliomania.Country; 21 import org.paneris.bibliomania.Currency; 22 import org.paneris.bibliomania.DownloadEvent; 23 import org.paneris.bibliomania.Sex; 24 import org.paneris.bibliomania.ShopOrder; 25 import org.paneris.bibliomania.ShopOrderItem; 26 // import org.paneris.bibliomania.User; 27 // import org.paneris.bibliomania.UserTable; 28 import org.paneris.melati.boards.model.Message; 29 import org.paneris.melati.boards.model.Subscription; 30 // import org.paneris.melati.boards.model.User; 31 32 33 /** 34 * Melati POEM generated abstract base class for a <code>Persistent</code> 35 * <code>User</code> Object. 36 * 37 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 38 */ 39 public abstract class UserBase extends org.paneris.melati.boards.model.User { 40 41 42 /** 43 * Retrieves the Database object. 44 * 45 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 46 * @return the database 47 */ 48 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() { 49 return (BibliomaniaDatabaseTables)getDatabase(); 50 } 51 52 53 /** 54 * Retrieves the <code>UserTable</code> table 55 * which this <code>Persistent</code> is from. 56 * 57 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 58 * @return the org.melati.poem.UserTable 59 */ 60 @SuppressWarnings("unchecked") 61 public org.melati.poem.UserTable<org.melati.poem.User> getUserTable() { 62 return (org.melati.poem.UserTable<org.melati.poem.User>)getTable(); 63 } 64 65 @SuppressWarnings("unchecked") 66 private org.paneris.bibliomania.UserTable<org.paneris.bibliomania.User> _getUserTable() { 67 return (org.paneris.bibliomania.UserTable<org.paneris.bibliomania.User>)getTable(); 68 } 69 70 // Fields in this table 71 /** 72 * age - Your age 73 */ 74 protected Integer age; 75 /** 76 * sex - Your sex 77 */ 78 protected Integer sex; 79 /** 80 * country - The country where you live 81 */ 82 protected Integer country; 83 /** 84 * Post/Zip code - Your postal code 85 */ 86 protected String region; 87 /** 88 * Full time education - Whether you are in full-time education 89 */ 90 protected Boolean fulltimeeducation; 91 /** 92 * Email alerts - Whether you want to receive email alerts 93 */ 94 protected Boolean wantemailalerts; 95 /** 96 * Newsletter - Whether you want to receive the bibliomania.com newsletter 97 */ 98 protected Boolean wantspam; 99 /** 100 * Dodgey Email - Whether this user has 'Dodgey' email address 101 */ 102 protected Boolean dodgeyemail; 103 /** 104 * Address - Your address 105 */ 106 protected String address; 107 /** 108 * Town / City - The town / city where you live 109 */ 110 protected String town; 111 /** 112 * County / State - The county / state where you live 113 */ 114 protected String county; 115 /** 116 * Telephone - Your telephone number 117 */ 118 protected String tel; 119 /** 120 * currency - Your prefered currency 121 */ 122 protected Integer currency; 123 /** 124 * Bookmark - An URL that this user has bookmarked 125 */ 126 protected String bookmark; 127 /** 128 * Last emailed - When was this user last emailed? 129 */ 130 protected Timestamp lastemailed; 131 132 133 /** 134 * Retrieves the <code>Age</code> value, without locking, 135 * for this <code>User</code> <code>Persistent</code>. 136 * 137 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 138 * @return the Integer age 139 */ 140 public Integer getAge_unsafe() { 141 return age; 142 } 143 144 145 /** 146 * Sets the <code>Age</code> value directly, without checking, 147 * for this User <code>Persistent</code>. 148 * 149 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 150 * @param cooked the pre-validated value to set 151 */ 152 public void setAge_unsafe(Integer cooked) { 153 age = cooked; 154 } 155 156 /** 157 * Retrieves the Age value, with locking, for this 158 * <code>User</code> <code>Persistent</code>. 159 * Field description: 160 * Your age 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>Age</code> for this 167 * <code>User</code> <code>Persistent</code> 168 */ 169 170 public Integer getAge() 171 throws AccessPoemException { 172 readLock(); 173 return getAge_unsafe(); 174 } 175 176 177 /** 178 * Sets the <code>Age</code> value, with checking, for this 179 * <code>User</code> <code>Persistent</code>. 180 * Field description: 181 * Your age 182 * 183 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 184 * @param cooked a validated <code>int</code> 185 * @throws AccessPoemException 186 * if the current <code>AccessToken</code> 187 * does not confer write access rights 188 * @throws ValidationPoemException 189 * if the value is not valid 190 */ 191 public void setAge(Integer cooked) 192 throws AccessPoemException, ValidationPoemException { 193 _getUserTable().getAgeColumn(). 194 getType().assertValidCooked(cooked); 195 writeLock(); 196 setAge_unsafe(cooked); 197 } 198 199 /** 200 * Sets the <code>Age</code> value, with checking, for this 201 * <code>User</code> <code>Persistent</code>. 202 * Field description: 203 * Your age 204 * 205 * 206 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 207 * @param cooked a validated <code>int</code> 208 * @throws AccessPoemException 209 * if the current <code>AccessToken</code> 210 * does not confer write access rights 211 * @throws ValidationPoemException 212 * if the value is not valid 213 */ 214 215 public final void setAge(int cooked) 216 throws AccessPoemException, ValidationPoemException { 217 setAge(new Integer(cooked)); 218 } 219 220 221 /** 222 * Retrieves the <code>Age</code> value as a <code>Field</code> 223 * from this <code>User</code> <code>Persistent</code>. 224 * 225 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 226 * @throws AccessPoemException 227 * if the current <code>AccessToken</code> 228 * does not confer write access rights 229 * @return the Integer age 230 */ 231 public Field<Integer> getAgeField() throws AccessPoemException { 232 Column<Integer> c = _getUserTable().getAgeColumn(); 233 return new Field<Integer>((Integer)c.getRaw(this), c); 234 } 235 236 237 /** 238 * Retrieves the <code>Sex</code> value, without locking, 239 * for this <code>User</code> <code>Persistent</code>. 240 * 241 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 242 * @return the Integer sex 243 */ 244 public Integer getSex_unsafe() { 245 return sex; 246 } 247 248 249 /** 250 * Sets the <code>Sex</code> value directly, without checking, 251 * for this User <code>Persistent</code>. 252 * 253 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 254 * @param cooked the pre-validated value to set 255 */ 256 public void setSex_unsafe(Integer cooked) { 257 sex = cooked; 258 } 259 260 /** 261 * Retrieves the Table Row Object ID. 262 * 263 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 264 * @throws AccessPoemException 265 * if the current <code>AccessToken</code> 266 * does not confer read access rights 267 * @return the TROID as an <code>Integer</code> 268 */ 269 270 public Integer getSexTroid() 271 throws AccessPoemException { 272 readLock(); 273 return getSex_unsafe(); 274 } 275 276 277 /** 278 * Sets the Table Row Object ID. 279 * 280 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 281 * @param raw a Table Row Object Id 282 * @throws AccessPoemException 283 * if the current <code>AccessToken</code> 284 * does not confer write access rights 285 */ 286 public void setSexTroid(Integer raw) 287 throws AccessPoemException { 288 setSex(raw == null ? null : 289 getBibliomaniaDatabaseTables().getSexTable().getSexObject(raw)); 290 } 291 292 293 /** 294 * Retrieves the <code>Sex</code> object referred to. 295 * 296 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 297 * @throws AccessPoemException 298 * if the current <code>AccessToken</code> 299 * does not confer read access rights 300 * @throws NoSuchRowPoemException 301 * if the <code>Persistent</code> has yet to be allocated a TROID 302 * @return the <code>Sex</code> as a <code>Sex</code> 303 */ 304 public Sex getSex() 305 throws AccessPoemException, NoSuchRowPoemException { 306 Integer troid = getSexTroid(); 307 return troid == null ? null : 308 getBibliomaniaDatabaseTables().getSexTable().getSexObject(troid); 309 } 310 311 312 /** 313 * Set the Sex. 314 * 315 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 316 * @param cooked a validated <code>Sex</code> 317 * @throws AccessPoemException 318 * if the current <code>AccessToken</code> 319 * does not confer write access rights 320 */ 321 public void setSex(Sex cooked) 322 throws AccessPoemException { 323 _getUserTable(). 324 getSexColumn(). 325 getType().assertValidCooked(cooked); 326 writeLock(); 327 if (cooked == null) 328 setSex_unsafe(null); 329 else { 330 cooked.existenceLock(); 331 setSex_unsafe(cooked.troid()); 332 } 333 } 334 335 336 /** 337 * Retrieves the <code>Sex</code> value as a <code>Field</code> 338 * from this <code>User</code> <code>Persistent</code>. 339 * 340 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 341 * @throws AccessPoemException 342 * if the current <code>AccessToken</code> 343 * does not confer write access rights 344 * @return the Integer sex 345 */ 346 public Field<Integer> getSexField() throws AccessPoemException { 347 Column<Integer> c = _getUserTable().getSexColumn(); 348 return new Field<Integer>((Integer)c.getRaw(this), c); 349 } 350 351 352 /** 353 * Retrieves the <code>Country</code> value, without locking, 354 * for this <code>User</code> <code>Persistent</code>. 355 * 356 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 357 * @return the Integer country 358 */ 359 public Integer getCountry_unsafe() { 360 return country; 361 } 362 363 364 /** 365 * Sets the <code>Country</code> value directly, without checking, 366 * for this User <code>Persistent</code>. 367 * 368 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 369 * @param cooked the pre-validated value to set 370 */ 371 public void setCountry_unsafe(Integer cooked) { 372 country = cooked; 373 } 374 375 /** 376 * Retrieves the Table Row Object ID. 377 * 378 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 379 * @throws AccessPoemException 380 * if the current <code>AccessToken</code> 381 * does not confer read access rights 382 * @return the TROID as an <code>Integer</code> 383 */ 384 385 public Integer getCountryTroid() 386 throws AccessPoemException { 387 readLock(); 388 return getCountry_unsafe(); 389 } 390 391 392 /** 393 * Sets the Table Row Object ID. 394 * 395 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 396 * @param raw a Table Row Object Id 397 * @throws AccessPoemException 398 * if the current <code>AccessToken</code> 399 * does not confer write access rights 400 */ 401 public void setCountryTroid(Integer raw) 402 throws AccessPoemException { 403 setCountry(raw == null ? null : 404 getBibliomaniaDatabaseTables().getCountryTable().getCountryObject(raw)); 405 } 406 407 408 /** 409 * Retrieves the <code>Country</code> object referred to. 410 * 411 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 412 * @throws AccessPoemException 413 * if the current <code>AccessToken</code> 414 * does not confer read access rights 415 * @throws NoSuchRowPoemException 416 * if the <code>Persistent</code> has yet to be allocated a TROID 417 * @return the <code>Country</code> as a <code>Country</code> 418 */ 419 public Country getCountry() 420 throws AccessPoemException, NoSuchRowPoemException { 421 Integer troid = getCountryTroid(); 422 return troid == null ? null : 423 getBibliomaniaDatabaseTables().getCountryTable().getCountryObject(troid); 424 } 425 426 427 /** 428 * Set the Country. 429 * 430 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 431 * @param cooked a validated <code>Country</code> 432 * @throws AccessPoemException 433 * if the current <code>AccessToken</code> 434 * does not confer write access rights 435 */ 436 public void setCountry(Country cooked) 437 throws AccessPoemException { 438 _getUserTable(). 439 getCountryColumn(). 440 getType().assertValidCooked(cooked); 441 writeLock(); 442 if (cooked == null) 443 setCountry_unsafe(null); 444 else { 445 cooked.existenceLock(); 446 setCountry_unsafe(cooked.troid()); 447 } 448 } 449 450 451 /** 452 * Retrieves the <code>Country</code> value as a <code>Field</code> 453 * from this <code>User</code> <code>Persistent</code>. 454 * 455 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 456 * @throws AccessPoemException 457 * if the current <code>AccessToken</code> 458 * does not confer write access rights 459 * @return the Integer country 460 */ 461 public Field<Integer> getCountryField() throws AccessPoemException { 462 Column<Integer> c = _getUserTable().getCountryColumn(); 463 return new Field<Integer>((Integer)c.getRaw(this), c); 464 } 465 466 467 /** 468 * Retrieves the <code>Region</code> value, without locking, 469 * for this <code>User</code> <code>Persistent</code>. 470 * 471 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 472 * @return the String region 473 */ 474 public String getRegion_unsafe() { 475 return region; 476 } 477 478 479 /** 480 * Sets the <code>Region</code> value directly, without checking, 481 * for this User <code>Persistent</code>. 482 * 483 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 484 * @param cooked the pre-validated value to set 485 */ 486 public void setRegion_unsafe(String cooked) { 487 region = cooked; 488 } 489 490 /** 491 * Retrieves the Region value, with locking, for this 492 * <code>User</code> <code>Persistent</code>. 493 * Field description: 494 * Your postal code 495 * 496 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 497 * @throws AccessPoemException 498 * if the current <code>AccessToken</code> 499 * does not confer write access rights 500 * @return the value of the field <code>Region</code> for this 501 * <code>User</code> <code>Persistent</code> 502 */ 503 504 public String getRegion() 505 throws AccessPoemException { 506 readLock(); 507 return getRegion_unsafe(); 508 } 509 510 511 /** 512 * Sets the <code>Region</code> value, with checking, for this 513 * <code>User</code> <code>Persistent</code>. 514 * Field description: 515 * Your postal code 516 * 517 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 518 * @param cooked a validated <code>int</code> 519 * @throws AccessPoemException 520 * if the current <code>AccessToken</code> 521 * does not confer write access rights 522 * @throws ValidationPoemException 523 * if the value is not valid 524 */ 525 public void setRegion(String cooked) 526 throws AccessPoemException, ValidationPoemException { 527 _getUserTable().getRegionColumn(). 528 getType().assertValidCooked(cooked); 529 writeLock(); 530 setRegion_unsafe(cooked); 531 } 532 533 534 /** 535 * Retrieves the <code>Region</code> value as a <code>Field</code> 536 * from this <code>User</code> <code>Persistent</code>. 537 * 538 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 539 * @throws AccessPoemException 540 * if the current <code>AccessToken</code> 541 * does not confer write access rights 542 * @return the String region 543 */ 544 public Field<String> getRegionField() throws AccessPoemException { 545 Column<String> c = _getUserTable().getRegionColumn(); 546 return new Field<String>((String)c.getRaw(this), c); 547 } 548 549 550 /** 551 * Retrieves the <code>Fulltimeeducation</code> value, without locking, 552 * for this <code>User</code> <code>Persistent</code>. 553 * 554 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 555 * @return the Boolean fulltimeeducation 556 */ 557 public Boolean getFulltimeeducation_unsafe() { 558 return fulltimeeducation; 559 } 560 561 562 /** 563 * Sets the <code>Fulltimeeducation</code> value directly, without checking, 564 * for this User <code>Persistent</code>. 565 * 566 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 567 * @param cooked the pre-validated value to set 568 */ 569 public void setFulltimeeducation_unsafe(Boolean cooked) { 570 fulltimeeducation = cooked; 571 } 572 573 /** 574 * Retrieves the Fulltimeeducation value, with locking, for this 575 * <code>User</code> <code>Persistent</code>. 576 * Field description: 577 * Whether you are in full-time education 578 * 579 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 580 * @throws AccessPoemException 581 * if the current <code>AccessToken</code> 582 * does not confer write access rights 583 * @return the value of the field <code>Fulltimeeducation</code> for this 584 * <code>User</code> <code>Persistent</code> 585 */ 586 587 public Boolean getFulltimeeducation() 588 throws AccessPoemException { 589 readLock(); 590 return getFulltimeeducation_unsafe(); 591 } 592 593 594 /** 595 * Sets the <code>Fulltimeeducation</code> value, with checking, for this 596 * <code>User</code> <code>Persistent</code>. 597 * Field description: 598 * Whether you are in full-time education 599 * 600 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 601 * @param cooked a validated <code>int</code> 602 * @throws AccessPoemException 603 * if the current <code>AccessToken</code> 604 * does not confer write access rights 605 * @throws ValidationPoemException 606 * if the value is not valid 607 */ 608 public void setFulltimeeducation(Boolean cooked) 609 throws AccessPoemException, ValidationPoemException { 610 _getUserTable().getFulltimeeducationColumn(). 611 getType().assertValidCooked(cooked); 612 writeLock(); 613 setFulltimeeducation_unsafe(cooked); 614 } 615 616 /** 617 * Sets the <code>Fulltimeeducation</code> value, with checking, 618 * from a <code>boolean</code>, for this 619 * <code>User</code> <code>Persistent</code>. 620 * Field description: 621 * Whether you are in full-time education 622 * 623 * 624 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 625 * @param cooked a <code>boolean</code> 626 * @throws AccessPoemException 627 * if the current <code>AccessToken</code> 628 * does not confer write access rights 629 * @throws ValidationPoemException 630 * if the value is not valid 631 */ 632 633 public final void setFulltimeeducation(boolean cooked) 634 throws AccessPoemException, ValidationPoemException { 635 setFulltimeeducation(cooked ? Boolean.TRUE : Boolean.FALSE); 636 } 637 638 639 /** 640 * Retrieves the <code>Fulltimeeducation</code> value as a <code>Field</code> 641 * from this <code>User</code> <code>Persistent</code>. 642 * 643 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 644 * @throws AccessPoemException 645 * if the current <code>AccessToken</code> 646 * does not confer write access rights 647 * @return the Boolean fulltimeeducation 648 */ 649 public Field<Boolean> getFulltimeeducationField() throws AccessPoemException { 650 Column<Boolean> c = _getUserTable().getFulltimeeducationColumn(); 651 return new Field<Boolean>((Boolean)c.getRaw(this), c); 652 } 653 654 655 /** 656 * Retrieves the <code>Wantemailalerts</code> value, without locking, 657 * for this <code>User</code> <code>Persistent</code>. 658 * 659 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 660 * @return the Boolean wantemailalerts 661 */ 662 public Boolean getWantemailalerts_unsafe() { 663 return wantemailalerts; 664 } 665 666 667 /** 668 * Sets the <code>Wantemailalerts</code> value directly, without checking, 669 * for this User <code>Persistent</code>. 670 * 671 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 672 * @param cooked the pre-validated value to set 673 */ 674 public void setWantemailalerts_unsafe(Boolean cooked) { 675 wantemailalerts = cooked; 676 } 677 678 /** 679 * Retrieves the Wantemailalerts value, with locking, for this 680 * <code>User</code> <code>Persistent</code>. 681 * Field description: 682 * Whether you want to receive email alerts 683 * 684 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 685 * @throws AccessPoemException 686 * if the current <code>AccessToken</code> 687 * does not confer write access rights 688 * @return the value of the field <code>Wantemailalerts</code> for this 689 * <code>User</code> <code>Persistent</code> 690 */ 691 692 public Boolean getWantemailalerts() 693 throws AccessPoemException { 694 readLock(); 695 return getWantemailalerts_unsafe(); 696 } 697 698 699 /** 700 * Sets the <code>Wantemailalerts</code> value, with checking, for this 701 * <code>User</code> <code>Persistent</code>. 702 * Field description: 703 * Whether you want to receive email alerts 704 * 705 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 706 * @param cooked a validated <code>int</code> 707 * @throws AccessPoemException 708 * if the current <code>AccessToken</code> 709 * does not confer write access rights 710 * @throws ValidationPoemException 711 * if the value is not valid 712 */ 713 public void setWantemailalerts(Boolean cooked) 714 throws AccessPoemException, ValidationPoemException { 715 _getUserTable().getWantemailalertsColumn(). 716 getType().assertValidCooked(cooked); 717 writeLock(); 718 setWantemailalerts_unsafe(cooked); 719 } 720 721 /** 722 * Sets the <code>Wantemailalerts</code> value, with checking, 723 * from a <code>boolean</code>, for this 724 * <code>User</code> <code>Persistent</code>. 725 * Field description: 726 * Whether you want to receive email alerts 727 * 728 * 729 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 730 * @param cooked a <code>boolean</code> 731 * @throws AccessPoemException 732 * if the current <code>AccessToken</code> 733 * does not confer write access rights 734 * @throws ValidationPoemException 735 * if the value is not valid 736 */ 737 738 public final void setWantemailalerts(boolean cooked) 739 throws AccessPoemException, ValidationPoemException { 740 setWantemailalerts(cooked ? Boolean.TRUE : Boolean.FALSE); 741 } 742 743 744 /** 745 * Retrieves the <code>Wantemailalerts</code> value as a <code>Field</code> 746 * from this <code>User</code> <code>Persistent</code>. 747 * 748 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 749 * @throws AccessPoemException 750 * if the current <code>AccessToken</code> 751 * does not confer write access rights 752 * @return the Boolean wantemailalerts 753 */ 754 public Field<Boolean> getWantemailalertsField() throws AccessPoemException { 755 Column<Boolean> c = _getUserTable().getWantemailalertsColumn(); 756 return new Field<Boolean>((Boolean)c.getRaw(this), c); 757 } 758 759 760 /** 761 * Retrieves the <code>Wantspam</code> value, without locking, 762 * for this <code>User</code> <code>Persistent</code>. 763 * 764 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 765 * @return the Boolean wantspam 766 */ 767 public Boolean getWantspam_unsafe() { 768 return wantspam; 769 } 770 771 772 /** 773 * Sets the <code>Wantspam</code> value directly, without checking, 774 * for this User <code>Persistent</code>. 775 * 776 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 777 * @param cooked the pre-validated value to set 778 */ 779 public void setWantspam_unsafe(Boolean cooked) { 780 wantspam = cooked; 781 } 782 783 /** 784 * Retrieves the Wantspam value, with locking, for this 785 * <code>User</code> <code>Persistent</code>. 786 * Field description: 787 * Whether you want to receive the bibliomania.com newsletter 788 * 789 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 790 * @throws AccessPoemException 791 * if the current <code>AccessToken</code> 792 * does not confer write access rights 793 * @return the value of the field <code>Wantspam</code> for this 794 * <code>User</code> <code>Persistent</code> 795 */ 796 797 public Boolean getWantspam() 798 throws AccessPoemException { 799 readLock(); 800 return getWantspam_unsafe(); 801 } 802 803 804 /** 805 * Sets the <code>Wantspam</code> value, with checking, for this 806 * <code>User</code> <code>Persistent</code>. 807 * Field description: 808 * Whether you want to receive the bibliomania.com newsletter 809 * 810 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 811 * @param cooked a validated <code>int</code> 812 * @throws AccessPoemException 813 * if the current <code>AccessToken</code> 814 * does not confer write access rights 815 * @throws ValidationPoemException 816 * if the value is not valid 817 */ 818 public void setWantspam(Boolean cooked) 819 throws AccessPoemException, ValidationPoemException { 820 _getUserTable().getWantspamColumn(). 821 getType().assertValidCooked(cooked); 822 writeLock(); 823 setWantspam_unsafe(cooked); 824 } 825 826 /** 827 * Sets the <code>Wantspam</code> value, with checking, 828 * from a <code>boolean</code>, for this 829 * <code>User</code> <code>Persistent</code>. 830 * Field description: 831 * Whether you want to receive the bibliomania.com newsletter 832 * 833 * 834 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 835 * @param cooked a <code>boolean</code> 836 * @throws AccessPoemException 837 * if the current <code>AccessToken</code> 838 * does not confer write access rights 839 * @throws ValidationPoemException 840 * if the value is not valid 841 */ 842 843 public final void setWantspam(boolean cooked) 844 throws AccessPoemException, ValidationPoemException { 845 setWantspam(cooked ? Boolean.TRUE : Boolean.FALSE); 846 } 847 848 849 /** 850 * Retrieves the <code>Wantspam</code> value as a <code>Field</code> 851 * from this <code>User</code> <code>Persistent</code>. 852 * 853 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 854 * @throws AccessPoemException 855 * if the current <code>AccessToken</code> 856 * does not confer write access rights 857 * @return the Boolean wantspam 858 */ 859 public Field<Boolean> getWantspamField() throws AccessPoemException { 860 Column<Boolean> c = _getUserTable().getWantspamColumn(); 861 return new Field<Boolean>((Boolean)c.getRaw(this), c); 862 } 863 864 865 /** 866 * Retrieves the <code>Dodgeyemail</code> value, without locking, 867 * for this <code>User</code> <code>Persistent</code>. 868 * 869 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 870 * @return the Boolean dodgeyemail 871 */ 872 public Boolean getDodgeyemail_unsafe() { 873 return dodgeyemail; 874 } 875 876 877 /** 878 * Sets the <code>Dodgeyemail</code> value directly, without checking, 879 * for this User <code>Persistent</code>. 880 * 881 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 882 * @param cooked the pre-validated value to set 883 */ 884 public void setDodgeyemail_unsafe(Boolean cooked) { 885 dodgeyemail = cooked; 886 } 887 888 /** 889 * Retrieves the Dodgeyemail value, with locking, for this 890 * <code>User</code> <code>Persistent</code>. 891 * Field description: 892 * Whether this user has 'Dodgey' email address 893 * 894 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 895 * @throws AccessPoemException 896 * if the current <code>AccessToken</code> 897 * does not confer write access rights 898 * @return the value of the field <code>Dodgeyemail</code> for this 899 * <code>User</code> <code>Persistent</code> 900 */ 901 902 public Boolean getDodgeyemail() 903 throws AccessPoemException { 904 readLock(); 905 return getDodgeyemail_unsafe(); 906 } 907 908 909 /** 910 * Sets the <code>Dodgeyemail</code> value, with checking, for this 911 * <code>User</code> <code>Persistent</code>. 912 * Field description: 913 * Whether this user has 'Dodgey' email address 914 * 915 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 916 * @param cooked a validated <code>int</code> 917 * @throws AccessPoemException 918 * if the current <code>AccessToken</code> 919 * does not confer write access rights 920 * @throws ValidationPoemException 921 * if the value is not valid 922 */ 923 public void setDodgeyemail(Boolean cooked) 924 throws AccessPoemException, ValidationPoemException { 925 _getUserTable().getDodgeyemailColumn(). 926 getType().assertValidCooked(cooked); 927 writeLock(); 928 setDodgeyemail_unsafe(cooked); 929 } 930 931 /** 932 * Sets the <code>Dodgeyemail</code> value, with checking, 933 * from a <code>boolean</code>, for this 934 * <code>User</code> <code>Persistent</code>. 935 * Field description: 936 * Whether this user has 'Dodgey' email address 937 * 938 * 939 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 940 * @param cooked a <code>boolean</code> 941 * @throws AccessPoemException 942 * if the current <code>AccessToken</code> 943 * does not confer write access rights 944 * @throws ValidationPoemException 945 * if the value is not valid 946 */ 947 948 public final void setDodgeyemail(boolean cooked) 949 throws AccessPoemException, ValidationPoemException { 950 setDodgeyemail(cooked ? Boolean.TRUE : Boolean.FALSE); 951 } 952 953 954 /** 955 * Retrieves the <code>Dodgeyemail</code> value as a <code>Field</code> 956 * from this <code>User</code> <code>Persistent</code>. 957 * 958 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 959 * @throws AccessPoemException 960 * if the current <code>AccessToken</code> 961 * does not confer write access rights 962 * @return the Boolean dodgeyemail 963 */ 964 public Field<Boolean> getDodgeyemailField() throws AccessPoemException { 965 Column<Boolean> c = _getUserTable().getDodgeyemailColumn(); 966 return new Field<Boolean>((Boolean)c.getRaw(this), c); 967 } 968 969 970 /** 971 * Retrieves the <code>Address</code> value, without locking, 972 * for this <code>User</code> <code>Persistent</code>. 973 * 974 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 975 * @return the String address 976 */ 977 public String getAddress_unsafe() { 978 return address; 979 } 980 981 982 /** 983 * Sets the <code>Address</code> value directly, without checking, 984 * for this User <code>Persistent</code>. 985 * 986 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 987 * @param cooked the pre-validated value to set 988 */ 989 public void setAddress_unsafe(String cooked) { 990 address = cooked; 991 } 992 993 /** 994 * Retrieves the Address value, with locking, for this 995 * <code>User</code> <code>Persistent</code>. 996 * Field description: 997 * Your address 998 * 999 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1000 * @throws AccessPoemException 1001 * if the current <code>AccessToken</code> 1002 * does not confer write access rights 1003 * @return the value of the field <code>Address</code> for this 1004 * <code>User</code> <code>Persistent</code> 1005 */ 1006 1007 public String getAddress() 1008 throws AccessPoemException { 1009 readLock(); 1010 return getAddress_unsafe(); 1011 } 1012 1013 1014 /** 1015 * Sets the <code>Address</code> value, with checking, for this 1016 * <code>User</code> <code>Persistent</code>. 1017 * Field description: 1018 * Your address 1019 * 1020 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1021 * @param cooked a validated <code>int</code> 1022 * @throws AccessPoemException 1023 * if the current <code>AccessToken</code> 1024 * does not confer write access rights 1025 * @throws ValidationPoemException 1026 * if the value is not valid 1027 */ 1028 public void setAddress(String cooked) 1029 throws AccessPoemException, ValidationPoemException { 1030 _getUserTable().getAddressColumn(). 1031 getType().assertValidCooked(cooked); 1032 writeLock(); 1033 setAddress_unsafe(cooked); 1034 } 1035 1036 1037 /** 1038 * Retrieves the <code>Address</code> value as a <code>Field</code> 1039 * from this <code>User</code> <code>Persistent</code>. 1040 * 1041 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1042 * @throws AccessPoemException 1043 * if the current <code>AccessToken</code> 1044 * does not confer write access rights 1045 * @return the String address 1046 */ 1047 public Field<String> getAddressField() throws AccessPoemException { 1048 Column<String> c = _getUserTable().getAddressColumn(); 1049 return new Field<String>((String)c.getRaw(this), c); 1050 } 1051 1052 1053 /** 1054 * Retrieves the <code>Town</code> value, without locking, 1055 * for this <code>User</code> <code>Persistent</code>. 1056 * 1057 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1058 * @return the String town 1059 */ 1060 public String getTown_unsafe() { 1061 return town; 1062 } 1063 1064 1065 /** 1066 * Sets the <code>Town</code> value directly, without checking, 1067 * for this User <code>Persistent</code>. 1068 * 1069 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1070 * @param cooked the pre-validated value to set 1071 */ 1072 public void setTown_unsafe(String cooked) { 1073 town = cooked; 1074 } 1075 1076 /** 1077 * Retrieves the Town value, with locking, for this 1078 * <code>User</code> <code>Persistent</code>. 1079 * Field description: 1080 * The town / city where you live 1081 * 1082 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1083 * @throws AccessPoemException 1084 * if the current <code>AccessToken</code> 1085 * does not confer write access rights 1086 * @return the value of the field <code>Town</code> for this 1087 * <code>User</code> <code>Persistent</code> 1088 */ 1089 1090 public String getTown() 1091 throws AccessPoemException { 1092 readLock(); 1093 return getTown_unsafe(); 1094 } 1095 1096 1097 /** 1098 * Sets the <code>Town</code> value, with checking, for this 1099 * <code>User</code> <code>Persistent</code>. 1100 * Field description: 1101 * The town / city where you live 1102 * 1103 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1104 * @param cooked a validated <code>int</code> 1105 * @throws AccessPoemException 1106 * if the current <code>AccessToken</code> 1107 * does not confer write access rights 1108 * @throws ValidationPoemException 1109 * if the value is not valid 1110 */ 1111 public void setTown(String cooked) 1112 throws AccessPoemException, ValidationPoemException { 1113 _getUserTable().getTownColumn(). 1114 getType().assertValidCooked(cooked); 1115 writeLock(); 1116 setTown_unsafe(cooked); 1117 } 1118 1119 1120 /** 1121 * Retrieves the <code>Town</code> value as a <code>Field</code> 1122 * from this <code>User</code> <code>Persistent</code>. 1123 * 1124 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1125 * @throws AccessPoemException 1126 * if the current <code>AccessToken</code> 1127 * does not confer write access rights 1128 * @return the String town 1129 */ 1130 public Field<String> getTownField() throws AccessPoemException { 1131 Column<String> c = _getUserTable().getTownColumn(); 1132 return new Field<String>((String)c.getRaw(this), c); 1133 } 1134 1135 1136 /** 1137 * Retrieves the <code>County</code> value, without locking, 1138 * for this <code>User</code> <code>Persistent</code>. 1139 * 1140 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1141 * @return the String county 1142 */ 1143 public String getCounty_unsafe() { 1144 return county; 1145 } 1146 1147 1148 /** 1149 * Sets the <code>County</code> value directly, without checking, 1150 * for this User <code>Persistent</code>. 1151 * 1152 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1153 * @param cooked the pre-validated value to set 1154 */ 1155 public void setCounty_unsafe(String cooked) { 1156 county = cooked; 1157 } 1158 1159 /** 1160 * Retrieves the County value, with locking, for this 1161 * <code>User</code> <code>Persistent</code>. 1162 * Field description: 1163 * The county / state where you live 1164 * 1165 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1166 * @throws AccessPoemException 1167 * if the current <code>AccessToken</code> 1168 * does not confer write access rights 1169 * @return the value of the field <code>County</code> for this 1170 * <code>User</code> <code>Persistent</code> 1171 */ 1172 1173 public String getCounty() 1174 throws AccessPoemException { 1175 readLock(); 1176 return getCounty_unsafe(); 1177 } 1178 1179 1180 /** 1181 * Sets the <code>County</code> value, with checking, for this 1182 * <code>User</code> <code>Persistent</code>. 1183 * Field description: 1184 * The county / state where you live 1185 * 1186 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1187 * @param cooked a validated <code>int</code> 1188 * @throws AccessPoemException 1189 * if the current <code>AccessToken</code> 1190 * does not confer write access rights 1191 * @throws ValidationPoemException 1192 * if the value is not valid 1193 */ 1194 public void setCounty(String cooked) 1195 throws AccessPoemException, ValidationPoemException { 1196 _getUserTable().getCountyColumn(). 1197 getType().assertValidCooked(cooked); 1198 writeLock(); 1199 setCounty_unsafe(cooked); 1200 } 1201 1202 1203 /** 1204 * Retrieves the <code>County</code> value as a <code>Field</code> 1205 * from this <code>User</code> <code>Persistent</code>. 1206 * 1207 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1208 * @throws AccessPoemException 1209 * if the current <code>AccessToken</code> 1210 * does not confer write access rights 1211 * @return the String county 1212 */ 1213 public Field<String> getCountyField() throws AccessPoemException { 1214 Column<String> c = _getUserTable().getCountyColumn(); 1215 return new Field<String>((String)c.getRaw(this), c); 1216 } 1217 1218 1219 /** 1220 * Retrieves the <code>Tel</code> value, without locking, 1221 * for this <code>User</code> <code>Persistent</code>. 1222 * 1223 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1224 * @return the String tel 1225 */ 1226 public String getTel_unsafe() { 1227 return tel; 1228 } 1229 1230 1231 /** 1232 * Sets the <code>Tel</code> value directly, without checking, 1233 * for this User <code>Persistent</code>. 1234 * 1235 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1236 * @param cooked the pre-validated value to set 1237 */ 1238 public void setTel_unsafe(String cooked) { 1239 tel = cooked; 1240 } 1241 1242 /** 1243 * Retrieves the Tel value, with locking, for this 1244 * <code>User</code> <code>Persistent</code>. 1245 * Field description: 1246 * Your telephone number 1247 * 1248 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1249 * @throws AccessPoemException 1250 * if the current <code>AccessToken</code> 1251 * does not confer write access rights 1252 * @return the value of the field <code>Tel</code> for this 1253 * <code>User</code> <code>Persistent</code> 1254 */ 1255 1256 public String getTel() 1257 throws AccessPoemException { 1258 readLock(); 1259 return getTel_unsafe(); 1260 } 1261 1262 1263 /** 1264 * Sets the <code>Tel</code> value, with checking, for this 1265 * <code>User</code> <code>Persistent</code>. 1266 * Field description: 1267 * Your telephone number 1268 * 1269 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1270 * @param cooked a validated <code>int</code> 1271 * @throws AccessPoemException 1272 * if the current <code>AccessToken</code> 1273 * does not confer write access rights 1274 * @throws ValidationPoemException 1275 * if the value is not valid 1276 */ 1277 public void setTel(String cooked) 1278 throws AccessPoemException, ValidationPoemException { 1279 _getUserTable().getTelColumn(). 1280 getType().assertValidCooked(cooked); 1281 writeLock(); 1282 setTel_unsafe(cooked); 1283 } 1284 1285 1286 /** 1287 * Retrieves the <code>Tel</code> value as a <code>Field</code> 1288 * from this <code>User</code> <code>Persistent</code>. 1289 * 1290 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1291 * @throws AccessPoemException 1292 * if the current <code>AccessToken</code> 1293 * does not confer write access rights 1294 * @return the String tel 1295 */ 1296 public Field<String> getTelField() throws AccessPoemException { 1297 Column<String> c = _getUserTable().getTelColumn(); 1298 return new Field<String>((String)c.getRaw(this), c); 1299 } 1300 1301 1302 /** 1303 * Retrieves the <code>Currency</code> value, without locking, 1304 * for this <code>User</code> <code>Persistent</code>. 1305 * 1306 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1307 * @return the Integer currency 1308 */ 1309 public Integer getCurrency_unsafe() { 1310 return currency; 1311 } 1312 1313 1314 /** 1315 * Sets the <code>Currency</code> value directly, without checking, 1316 * for this User <code>Persistent</code>. 1317 * 1318 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1319 * @param cooked the pre-validated value to set 1320 */ 1321 public void setCurrency_unsafe(Integer cooked) { 1322 currency = cooked; 1323 } 1324 1325 /** 1326 * Retrieves the Table Row Object ID. 1327 * 1328 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1329 * @throws AccessPoemException 1330 * if the current <code>AccessToken</code> 1331 * does not confer read access rights 1332 * @return the TROID as an <code>Integer</code> 1333 */ 1334 1335 public Integer getCurrencyTroid() 1336 throws AccessPoemException { 1337 readLock(); 1338 return getCurrency_unsafe(); 1339 } 1340 1341 1342 /** 1343 * Sets the Table Row Object ID. 1344 * 1345 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1346 * @param raw a Table Row Object Id 1347 * @throws AccessPoemException 1348 * if the current <code>AccessToken</code> 1349 * does not confer write access rights 1350 */ 1351 public void setCurrencyTroid(Integer raw) 1352 throws AccessPoemException { 1353 setCurrency(raw == null ? null : 1354 getBibliomaniaDatabaseTables().getCurrencyTable().getCurrencyObject(raw)); 1355 } 1356 1357 1358 /** 1359 * Retrieves the <code>Currency</code> object referred to. 1360 * 1361 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1362 * @throws AccessPoemException 1363 * if the current <code>AccessToken</code> 1364 * does not confer read access rights 1365 * @throws NoSuchRowPoemException 1366 * if the <code>Persistent</code> has yet to be allocated a TROID 1367 * @return the <code>Currency</code> as a <code>Currency</code> 1368 */ 1369 public Currency getCurrency() 1370 throws AccessPoemException, NoSuchRowPoemException { 1371 Integer troid = getCurrencyTroid(); 1372 return troid == null ? null : 1373 getBibliomaniaDatabaseTables().getCurrencyTable().getCurrencyObject(troid); 1374 } 1375 1376 1377 /** 1378 * Set the Currency. 1379 * 1380 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 1381 * @param cooked a validated <code>Currency</code> 1382 * @throws AccessPoemException 1383 * if the current <code>AccessToken</code> 1384 * does not confer write access rights 1385 */ 1386 public void setCurrency(Currency cooked) 1387 throws AccessPoemException { 1388 _getUserTable(). 1389 getCurrencyColumn(). 1390 getType().assertValidCooked(cooked); 1391 writeLock(); 1392 if (cooked == null) 1393 setCurrency_unsafe(null); 1394 else { 1395 cooked.existenceLock(); 1396 setCurrency_unsafe(cooked.troid()); 1397 } 1398 } 1399 1400 1401 /** 1402 * Retrieves the <code>Currency</code> value as a <code>Field</code> 1403 * from this <code>User</code> <code>Persistent</code>. 1404 * 1405 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1406 * @throws AccessPoemException 1407 * if the current <code>AccessToken</code> 1408 * does not confer write access rights 1409 * @return the Integer currency 1410 */ 1411 public Field<Integer> getCurrencyField() throws AccessPoemException { 1412 Column<Integer> c = _getUserTable().getCurrencyColumn(); 1413 return new Field<Integer>((Integer)c.getRaw(this), c); 1414 } 1415 1416 1417 /** 1418 * Retrieves the <code>Bookmark</code> value, without locking, 1419 * for this <code>User</code> <code>Persistent</code>. 1420 * 1421 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1422 * @return the String bookmark 1423 */ 1424 public String getBookmark_unsafe() { 1425 return bookmark; 1426 } 1427 1428 1429 /** 1430 * Sets the <code>Bookmark</code> value directly, without checking, 1431 * for this User <code>Persistent</code>. 1432 * 1433 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1434 * @param cooked the pre-validated value to set 1435 */ 1436 public void setBookmark_unsafe(String cooked) { 1437 bookmark = cooked; 1438 } 1439 1440 /** 1441 * Retrieves the Bookmark value, with locking, for this 1442 * <code>User</code> <code>Persistent</code>. 1443 * Field description: 1444 * An URL that this user has bookmarked 1445 * 1446 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1447 * @throws AccessPoemException 1448 * if the current <code>AccessToken</code> 1449 * does not confer write access rights 1450 * @return the value of the field <code>Bookmark</code> for this 1451 * <code>User</code> <code>Persistent</code> 1452 */ 1453 1454 public String getBookmark() 1455 throws AccessPoemException { 1456 readLock(); 1457 return getBookmark_unsafe(); 1458 } 1459 1460 1461 /** 1462 * Sets the <code>Bookmark</code> value, with checking, for this 1463 * <code>User</code> <code>Persistent</code>. 1464 * Field description: 1465 * An URL that this user has bookmarked 1466 * 1467 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1468 * @param cooked a validated <code>int</code> 1469 * @throws AccessPoemException 1470 * if the current <code>AccessToken</code> 1471 * does not confer write access rights 1472 * @throws ValidationPoemException 1473 * if the value is not valid 1474 */ 1475 public void setBookmark(String cooked) 1476 throws AccessPoemException, ValidationPoemException { 1477 _getUserTable().getBookmarkColumn(). 1478 getType().assertValidCooked(cooked); 1479 writeLock(); 1480 setBookmark_unsafe(cooked); 1481 } 1482 1483 1484 /** 1485 * Retrieves the <code>Bookmark</code> value as a <code>Field</code> 1486 * from this <code>User</code> <code>Persistent</code>. 1487 * 1488 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1489 * @throws AccessPoemException 1490 * if the current <code>AccessToken</code> 1491 * does not confer write access rights 1492 * @return the String bookmark 1493 */ 1494 public Field<String> getBookmarkField() throws AccessPoemException { 1495 Column<String> c = _getUserTable().getBookmarkColumn(); 1496 return new Field<String>((String)c.getRaw(this), c); 1497 } 1498 1499 1500 /** 1501 * Retrieves the <code>Lastemailed</code> value, without locking, 1502 * for this <code>User</code> <code>Persistent</code>. 1503 * 1504 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1505 * @return the Timestamp lastemailed 1506 */ 1507 public Timestamp getLastemailed_unsafe() { 1508 return lastemailed; 1509 } 1510 1511 1512 /** 1513 * Sets the <code>Lastemailed</code> value directly, without checking, 1514 * for this User <code>Persistent</code>. 1515 * 1516 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 1517 * @param cooked the pre-validated value to set 1518 */ 1519 public void setLastemailed_unsafe(Timestamp cooked) { 1520 lastemailed = cooked; 1521 } 1522 1523 /** 1524 * Retrieves the Lastemailed value, with locking, for this 1525 * <code>User</code> <code>Persistent</code>. 1526 * Field description: 1527 * When was this user last emailed? 1528 * 1529 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1530 * @throws AccessPoemException 1531 * if the current <code>AccessToken</code> 1532 * does not confer write access rights 1533 * @return the value of the field <code>Lastemailed</code> for this 1534 * <code>User</code> <code>Persistent</code> 1535 */ 1536 1537 public Timestamp getLastemailed() 1538 throws AccessPoemException { 1539 readLock(); 1540 return getLastemailed_unsafe(); 1541 } 1542 1543 1544 /** 1545 * Sets the <code>Lastemailed</code> value, with checking, for this 1546 * <code>User</code> <code>Persistent</code>. 1547 * Field description: 1548 * When was this user last emailed? 1549 * 1550 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 1551 * @param cooked a validated <code>int</code> 1552 * @throws AccessPoemException 1553 * if the current <code>AccessToken</code> 1554 * does not confer write access rights 1555 * @throws ValidationPoemException 1556 * if the value is not valid 1557 */ 1558 public void setLastemailed(Timestamp cooked) 1559 throws AccessPoemException, ValidationPoemException { 1560 _getUserTable().getLastemailedColumn(). 1561 getType().assertValidCooked(cooked); 1562 writeLock(); 1563 setLastemailed_unsafe(cooked); 1564 } 1565 1566 1567 /** 1568 * Retrieves the <code>Lastemailed</code> value as a <code>Field</code> 1569 * from this <code>User</code> <code>Persistent</code>. 1570 * 1571 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 1572 * @throws AccessPoemException 1573 * if the current <code>AccessToken</code> 1574 * does not confer write access rights 1575 * @return the Timestamp lastemailed 1576 */ 1577 public Field<Timestamp> getLastemailedField() throws AccessPoemException { 1578 Column<Timestamp> c = _getUserTable().getLastemailedColumn(); 1579 return new Field<Timestamp>((Timestamp)c.getRaw(this), c); 1580 } 1581 1582 private CachedSelection<GroupMembership> userGroupMemberships = null; 1583 /** References to this User in the GroupMembership table via its user field.*/ 1584 @SuppressWarnings("unchecked") 1585 public Enumeration<GroupMembership> getUserGroupMemberships() { 1586 if (getTroid() == null) 1587 return new EmptyEnumeration<GroupMembership>(); 1588 else { 1589 if (userGroupMemberships == null) 1590 userGroupMemberships = 1591 getBibliomaniaDatabaseTables().getGroupMembershipTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1592 return userGroupMemberships.objects(); 1593 } 1594 } 1595 1596 1597 /** References to this User in the GroupMembership table via its user field, as a List.*/ 1598 public List<GroupMembership> getUserGroupMembershipList() { 1599 return Collections.list(getUserGroupMemberships()); 1600 } 1601 1602 1603 1604 private CachedSelection<Subscription> userSubscriptions = null; 1605 /** References to this User in the Subscription table via its user field.*/ 1606 @SuppressWarnings("unchecked") 1607 public Enumeration<Subscription> getUserSubscriptions() { 1608 if (getTroid() == null) 1609 return new EmptyEnumeration<Subscription>(); 1610 else { 1611 if (userSubscriptions == null) 1612 userSubscriptions = 1613 getBibliomaniaDatabaseTables().getSubscriptionTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1614 return userSubscriptions.objects(); 1615 } 1616 } 1617 1618 1619 /** References to this User in the Subscription table via its user field, as a List.*/ 1620 public List<Subscription> getUserSubscriptionList() { 1621 return Collections.list(getUserSubscriptions()); 1622 } 1623 1624 1625 1626 private CachedSelection<Message> authorMessages = null; 1627 /** References to this User in the Message table via its author field.*/ 1628 @SuppressWarnings("unchecked") 1629 public Enumeration<Message> getAuthorMessages() { 1630 if (getTroid() == null) 1631 return new EmptyEnumeration<Message>(); 1632 else { 1633 if (authorMessages == null) 1634 authorMessages = 1635 getBibliomaniaDatabaseTables().getMessageTable().getAuthorColumn().cachedSelectionWhereEq(getTroid()); 1636 return authorMessages.objects(); 1637 } 1638 } 1639 1640 1641 /** References to this User in the Message table via its author field, as a List.*/ 1642 public List<Message> getAuthorMessageList() { 1643 return Collections.list(getAuthorMessages()); 1644 } 1645 1646 1647 1648 private CachedSelection<DownloadEvent> userDownloadEvents = null; 1649 /** References to this User in the DownloadEvent table via its user field.*/ 1650 @SuppressWarnings("unchecked") 1651 public Enumeration<DownloadEvent> getUserDownloadEvents() { 1652 if (getTroid() == null) 1653 return new EmptyEnumeration<DownloadEvent>(); 1654 else { 1655 if (userDownloadEvents == null) 1656 userDownloadEvents = 1657 getBibliomaniaDatabaseTables().getDownloadEventTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1658 return userDownloadEvents.objects(); 1659 } 1660 } 1661 1662 1663 /** References to this User in the DownloadEvent table via its user field, as a List.*/ 1664 public List<DownloadEvent> getUserDownloadEventList() { 1665 return Collections.list(getUserDownloadEvents()); 1666 } 1667 1668 1669 1670 private CachedSelection<ShopOrder> userShopOrders = null; 1671 /** References to this User in the ShopOrder table via its user field.*/ 1672 @SuppressWarnings("unchecked") 1673 public Enumeration<ShopOrder> getUserShopOrders() { 1674 if (getTroid() == null) 1675 return new EmptyEnumeration<ShopOrder>(); 1676 else { 1677 if (userShopOrders == null) 1678 userShopOrders = 1679 getBibliomaniaDatabaseTables().getShopOrderTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1680 return userShopOrders.objects(); 1681 } 1682 } 1683 1684 1685 /** References to this User in the ShopOrder table via its user field, as a List.*/ 1686 public List<ShopOrder> getUserShopOrderList() { 1687 return Collections.list(getUserShopOrders()); 1688 } 1689 1690 1691 1692 private CachedSelection<ShopOrderItem> userShopOrderItems = null; 1693 /** References to this User in the ShopOrderItem table via its user field.*/ 1694 @SuppressWarnings("unchecked") 1695 public Enumeration<ShopOrderItem> getUserShopOrderItems() { 1696 if (getTroid() == null) 1697 return new EmptyEnumeration<ShopOrderItem>(); 1698 else { 1699 if (userShopOrderItems == null) 1700 userShopOrderItems = 1701 getBibliomaniaDatabaseTables().getShopOrderItemTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1702 return userShopOrderItems.objects(); 1703 } 1704 } 1705 1706 1707 /** References to this User in the ShopOrderItem table via its user field, as a List.*/ 1708 public List<ShopOrderItem> getUserShopOrderItemList() { 1709 return Collections.list(getUserShopOrderItems()); 1710 } 1711 1712 1713 1714 private CachedSelection<CampaignUser> userCampaignUsers = null; 1715 /** References to this User in the CampaignUser table via its user field.*/ 1716 @SuppressWarnings("unchecked") 1717 public Enumeration<CampaignUser> getUserCampaignUsers() { 1718 if (getTroid() == null) 1719 return new EmptyEnumeration<CampaignUser>(); 1720 else { 1721 if (userCampaignUsers == null) 1722 userCampaignUsers = 1723 getBibliomaniaDatabaseTables().getCampaignUserTable().getUserColumn().cachedSelectionWhereEq(getTroid()); 1724 return userCampaignUsers.objects(); 1725 } 1726 } 1727 1728 1729 /** References to this User in the CampaignUser table via its user field, as a List.*/ 1730 public List<CampaignUser> getUserCampaignUserList() { 1731 return Collections.list(getUserCampaignUsers()); 1732 } 1733 1734 1735 1736 } 1737