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