Coverage Report - org.paneris.bibliomania.generated.UserBase
 
Classes in this File Line Coverage Branch Coverage Complexity
UserBase
25%
63/249
7%
4/54
1.33
 
 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  14
 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  0
     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  0
     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  8
     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  0
     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  8
     age = cooked;
 154  8
   }
 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  0
     readLock();
 173  0
     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  0
     _getUserTable().getAgeColumn().
 194  
       getType().assertValidCooked(cooked);
 195  0
     writeLock();
 196  0
     setAge_unsafe(cooked);
 197  0
   }
 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  0
     setAge(new Integer(cooked));
 218  0
   }
 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  0
     Column<Integer> c = _getUserTable().getAgeColumn();
 233  0
     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  0
     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  8
     sex = cooked;
 258  8
   }
 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  0
     readLock();
 273  0
     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  0
     setSex(raw == null ? null : 
 289  
         getBibliomaniaDatabaseTables().getSexTable().getSexObject(raw));
 290  0
   }
 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  0
     Integer troid = getSexTroid();
 307  0
     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  0
     _getUserTable().
 324  
       getSexColumn().
 325  
         getType().assertValidCooked(cooked);
 326  0
     writeLock();
 327  0
     if (cooked == null)
 328  0
       setSex_unsafe(null);
 329  
     else {
 330  0
       cooked.existenceLock();
 331  0
       setSex_unsafe(cooked.troid());
 332  
     }
 333  0
   }
 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  0
     Column<Integer> c = _getUserTable().getSexColumn();
 348  0
     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  0
     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  8
     country = cooked;
 373  8
   }
 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  0
     readLock();
 388  0
     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  0
     setCountry(raw == null ? null : 
 404  
         getBibliomaniaDatabaseTables().getCountryTable().getCountryObject(raw));
 405  0
   }
 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  0
     Integer troid = getCountryTroid();
 422  0
     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  0
     _getUserTable().
 439  
       getCountryColumn().
 440  
         getType().assertValidCooked(cooked);
 441  0
     writeLock();
 442  0
     if (cooked == null)
 443  0
       setCountry_unsafe(null);
 444  
     else {
 445  0
       cooked.existenceLock();
 446  0
       setCountry_unsafe(cooked.troid());
 447  
     }
 448  0
   }
 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  0
     Column<Integer> c = _getUserTable().getCountryColumn();
 463  0
     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  0
     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  8
     region = cooked;
 488  8
   }
 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  0
     readLock();
 507  0
     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  0
     _getUserTable().getRegionColumn().
 528  
       getType().assertValidCooked(cooked);
 529  0
     writeLock();
 530  0
     setRegion_unsafe(cooked);
 531  0
   }
 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  0
     Column<String> c = _getUserTable().getRegionColumn();
 546  0
     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  0
     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  14
     fulltimeeducation = cooked;
 571  14
   }
 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  0
     readLock();
 590  0
     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  2
     _getUserTable().getFulltimeeducationColumn().
 611  
       getType().assertValidCooked(cooked);
 612  2
     writeLock();
 613  2
     setFulltimeeducation_unsafe(cooked);
 614  2
   }
 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  2
     setFulltimeeducation(cooked ? Boolean.TRUE : Boolean.FALSE);
 636  2
   }
 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  0
     Column<Boolean> c = _getUserTable().getFulltimeeducationColumn();
 651  0
     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  0
     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  14
     wantemailalerts = cooked;
 676  14
   }
 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  0
     readLock();
 695  0
     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  2
     _getUserTable().getWantemailalertsColumn().
 716  
       getType().assertValidCooked(cooked);
 717  2
     writeLock();
 718  2
     setWantemailalerts_unsafe(cooked);
 719  2
   }
 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  2
     setWantemailalerts(cooked ? Boolean.TRUE : Boolean.FALSE);
 741  2
   }
 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  0
     Column<Boolean> c = _getUserTable().getWantemailalertsColumn();
 756  0
     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  0
     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  14
     wantspam = cooked;
 781  14
   }
 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  0
     readLock();
 800  0
     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  2
     _getUserTable().getWantspamColumn().
 821  
       getType().assertValidCooked(cooked);
 822  2
     writeLock();
 823  2
     setWantspam_unsafe(cooked);
 824  2
   }
 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  2
     setWantspam(cooked ? Boolean.TRUE : Boolean.FALSE);
 846  2
   }
 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  0
     Column<Boolean> c = _getUserTable().getWantspamColumn();
 861  0
     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  0
     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  14
     dodgeyemail = cooked;
 886  14
   }
 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  0
     readLock();
 905  0
     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  2
     _getUserTable().getDodgeyemailColumn().
 926  
       getType().assertValidCooked(cooked);
 927  2
     writeLock();
 928  2
     setDodgeyemail_unsafe(cooked);
 929  2
   }
 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  2
     setDodgeyemail(cooked ? Boolean.TRUE : Boolean.FALSE);
 951  2
   }
 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  0
     Column<Boolean> c = _getUserTable().getDodgeyemailColumn();
 966  0
     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  0
     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  8
     address = cooked;
 991  8
   }
 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  0
     readLock();
 1010  0
     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  0
     _getUserTable().getAddressColumn().
 1031  
       getType().assertValidCooked(cooked);
 1032  0
     writeLock();
 1033  0
     setAddress_unsafe(cooked);
 1034  0
   }
 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  0
     Column<String> c = _getUserTable().getAddressColumn();
 1049  0
     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  0
     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  8
     town = cooked;
 1074  8
   }
 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  0
     readLock();
 1093  0
     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  0
     _getUserTable().getTownColumn().
 1114  
       getType().assertValidCooked(cooked);
 1115  0
     writeLock();
 1116  0
     setTown_unsafe(cooked);
 1117  0
   }
 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  0
     Column<String> c = _getUserTable().getTownColumn();
 1132  0
     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  0
     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  8
     county = cooked;
 1157  8
   }
 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  0
     readLock();
 1176  0
     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  0
     _getUserTable().getCountyColumn().
 1197  
       getType().assertValidCooked(cooked);
 1198  0
     writeLock();
 1199  0
     setCounty_unsafe(cooked);
 1200  0
   }
 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  0
     Column<String> c = _getUserTable().getCountyColumn();
 1215  0
     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  0
     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  8
     tel = cooked;
 1240  8
   }
 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  0
     readLock();
 1259  0
     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  0
     _getUserTable().getTelColumn().
 1280  
       getType().assertValidCooked(cooked);
 1281  0
     writeLock();
 1282  0
     setTel_unsafe(cooked);
 1283  0
   }
 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  0
     Column<String> c = _getUserTable().getTelColumn();
 1298  0
     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  0
     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  8
     currency = cooked;
 1323  8
   }
 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  0
     readLock();
 1338  0
     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  0
     setCurrency(raw == null ? null : 
 1354  
         getBibliomaniaDatabaseTables().getCurrencyTable().getCurrencyObject(raw));
 1355  0
   }
 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  0
     Integer troid = getCurrencyTroid();
 1372  0
     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  0
     _getUserTable().
 1389  
       getCurrencyColumn().
 1390  
         getType().assertValidCooked(cooked);
 1391  0
     writeLock();
 1392  0
     if (cooked == null)
 1393  0
       setCurrency_unsafe(null);
 1394  
     else {
 1395  0
       cooked.existenceLock();
 1396  0
       setCurrency_unsafe(cooked.troid());
 1397  
     }
 1398  0
   }
 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  0
     Column<Integer> c = _getUserTable().getCurrencyColumn();
 1413  0
     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  0
     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  8
     bookmark = cooked;
 1438  8
   }
 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  0
     readLock();
 1457  0
     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  0
     _getUserTable().getBookmarkColumn().
 1478  
       getType().assertValidCooked(cooked);
 1479  0
     writeLock();
 1480  0
     setBookmark_unsafe(cooked);
 1481  0
   }
 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  0
     Column<String> c = _getUserTable().getBookmarkColumn();
 1496  0
     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  0
     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  8
     lastemailed = cooked;
 1521  8
   }
 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  0
     readLock();
 1540  0
     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  0
     _getUserTable().getLastemailedColumn().
 1561  
       getType().assertValidCooked(cooked);
 1562  0
     writeLock();
 1563  0
     setLastemailed_unsafe(cooked);
 1564  0
   }
 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  0
     Column<Timestamp> c = _getUserTable().getLastemailedColumn();
 1579  0
     return new Field<Timestamp>((Timestamp)c.getRaw(this), c);
 1580  
   }
 1581  
 
 1582  14
   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  0
     if (getTroid() == null)
 1587  0
       return new EmptyEnumeration<GroupMembership>();
 1588  
     else {
 1589  0
       if (userGroupMemberships == null)
 1590  0
         userGroupMemberships =
 1591  
           getBibliomaniaDatabaseTables().getGroupMembershipTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1592  0
       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  0
     return Collections.list(getUserGroupMemberships());
 1600  
   }
 1601  
 
 1602  
 
 1603  
 
 1604  14
   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  0
     if (getTroid() == null)
 1609  0
       return new EmptyEnumeration<Subscription>();
 1610  
     else {
 1611  0
       if (userSubscriptions == null)
 1612  0
         userSubscriptions =
 1613  
           getBibliomaniaDatabaseTables().getSubscriptionTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1614  0
       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  0
     return Collections.list(getUserSubscriptions());
 1622  
   }
 1623  
 
 1624  
 
 1625  
 
 1626  14
   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  0
     if (getTroid() == null)
 1631  0
       return new EmptyEnumeration<Message>();
 1632  
     else {
 1633  0
       if (authorMessages == null)
 1634  0
         authorMessages =
 1635  
           getBibliomaniaDatabaseTables().getMessageTable().getAuthorColumn().cachedSelectionWhereEq(getTroid());
 1636  0
       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  0
     return Collections.list(getAuthorMessages());
 1644  
   }
 1645  
 
 1646  
 
 1647  
 
 1648  14
   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  0
     if (getTroid() == null)
 1653  0
       return new EmptyEnumeration<DownloadEvent>();
 1654  
     else {
 1655  0
       if (userDownloadEvents == null)
 1656  0
         userDownloadEvents =
 1657  
           getBibliomaniaDatabaseTables().getDownloadEventTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1658  0
       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  0
     return Collections.list(getUserDownloadEvents());
 1666  
   }
 1667  
 
 1668  
 
 1669  
 
 1670  14
   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  0
     if (getTroid() == null)
 1675  0
       return new EmptyEnumeration<ShopOrder>();
 1676  
     else {
 1677  0
       if (userShopOrders == null)
 1678  0
         userShopOrders =
 1679  
           getBibliomaniaDatabaseTables().getShopOrderTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1680  0
       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  0
     return Collections.list(getUserShopOrders());
 1688  
   }
 1689  
 
 1690  
 
 1691  
 
 1692  14
   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  0
     if (getTroid() == null)
 1697  0
       return new EmptyEnumeration<ShopOrderItem>();
 1698  
     else {
 1699  0
       if (userShopOrderItems == null)
 1700  0
         userShopOrderItems =
 1701  
           getBibliomaniaDatabaseTables().getShopOrderItemTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1702  0
       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  0
     return Collections.list(getUserShopOrderItems());
 1710  
   }
 1711  
 
 1712  
 
 1713  
 
 1714  14
   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  0
     if (getTroid() == null)
 1719  0
       return new EmptyEnumeration<CampaignUser>();
 1720  
     else {
 1721  0
       if (userCampaignUsers == null)
 1722  0
         userCampaignUsers =
 1723  
           getBibliomaniaDatabaseTables().getCampaignUserTable().getUserColumn().cachedSelectionWhereEq(getTroid());
 1724  0
       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  0
     return Collections.list(getUserCampaignUsers());
 1732  
   }
 1733  
 
 1734  
 
 1735  
 
 1736  
 }
 1737