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.JdbcPersistent;
15 import org.melati.poem.ValidationPoemException;
16 import org.melati.poem.util.EmptyEnumeration;
17 import org.paneris.bibliomania.BibliomaniaDatabaseTables;
18 import org.paneris.bibliomania.Campaign;
19 import org.paneris.bibliomania.CampaignTable;
20 import org.paneris.bibliomania.CampaignUser;
21
22
23 /**
24 * Melati POEM generated abstract base class for a <code>Persistent</code>
25 * <code>Campaign</code> Object.
26 *
27 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
28 */
29 public abstract class CampaignBase extends JdbcPersistent {
30
31
32 /**
33 * Retrieves the Database object.
34 *
35 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
36 * @return the database
37 */
38 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() {
39 return (BibliomaniaDatabaseTables)getDatabase();
40 }
41
42
43 /**
44 * Retrieves the <code>CampaignTable</code> table
45 * which this <code>Persistent</code> is from.
46 *
47 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
48 * @return the CampaignTable
49 */
50 @SuppressWarnings("unchecked")
51 public CampaignTable<Campaign> getCampaignTable() {
52 return (CampaignTable<Campaign>)getTable();
53 }
54
55 @SuppressWarnings("unchecked")
56 private CampaignTable<Campaign> _getCampaignTable() {
57 return (CampaignTable<Campaign>)getTable();
58 }
59
60 // Fields in this table
61 /**
62 * id
63 */
64 protected Integer id;
65 /**
66 * Display name - The Campaign's name
67 */
68 protected String displayname;
69 /**
70 * Date Created - When this Campaign was created
71 */
72 protected Timestamp created;
73 /**
74 * Date Last Run - When the users in this his Campaign were last emailed
75 */
76 protected Timestamp lastrun;
77 /**
78 * Output - The file containing the output from the last run
79 */
80 protected String output;
81 /**
82 * comment - Any comments on this Campaign
83 */
84 protected String comment;
85 /**
86 * template - A template for the email to be sent
87 */
88 protected String template;
89
90
91 /**
92 * Retrieves the <code>Id</code> value, without locking,
93 * for this <code>Campaign</code> <code>Persistent</code>.
94 *
95 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
96 * @return the Integer id
97 */
98 public Integer getId_unsafe() {
99 return id;
100 }
101
102
103 /**
104 * Sets the <code>Id</code> value directly, without checking,
105 * for this Campaign <code>Persistent</code>.
106 *
107 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
108 * @param cooked the pre-validated value to set
109 */
110 public void setId_unsafe(Integer cooked) {
111 id = cooked;
112 }
113
114 /**
115 * Retrieves the Id value, with locking, for this
116 * <code>Campaign</code> <code>Persistent</code>.
117 *
118 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
119 * @throws AccessPoemException
120 * if the current <code>AccessToken</code>
121 * does not confer write access rights
122 * @return the value of the field <code>Id</code> for this
123 * <code>Campaign</code> <code>Persistent</code>
124 */
125
126 public Integer getId()
127 throws AccessPoemException {
128 readLock();
129 return getId_unsafe();
130 }
131
132
133 /**
134 * Sets the <code>Id</code> value, with checking, for this
135 * <code>Campaign</code> <code>Persistent</code>.
136 *
137 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
138 * @param cooked a validated <code>int</code>
139 * @throws AccessPoemException
140 * if the current <code>AccessToken</code>
141 * does not confer write access rights
142 * @throws ValidationPoemException
143 * if the value is not valid
144 */
145 public void setId(Integer cooked)
146 throws AccessPoemException, ValidationPoemException {
147 _getCampaignTable().getIdColumn().
148 getType().assertValidCooked(cooked);
149 writeLock();
150 setId_unsafe(cooked);
151 }
152
153 /**
154 * Sets the <code>Id</code> value, with checking, for this
155 * <code>Campaign</code> <code>Persistent</code>.
156 *
157 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
158 * @param cooked a validated <code>int</code>
159 * @throws AccessPoemException
160 * if the current <code>AccessToken</code>
161 * does not confer write access rights
162 * @throws ValidationPoemException
163 * if the value is not valid
164 */
165
166 public final void setId(int cooked)
167 throws AccessPoemException, ValidationPoemException {
168 setId(new Integer(cooked));
169 }
170
171
172 /**
173 * Retrieves the <code>Id</code> value as a <code>Field</code>
174 * from this <code>Campaign</code> <code>Persistent</code>.
175 *
176 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
177 * @throws AccessPoemException
178 * if the current <code>AccessToken</code>
179 * does not confer write access rights
180 * @return the Integer id
181 */
182 public Field<Integer> getIdField() throws AccessPoemException {
183 Column<Integer> c = _getCampaignTable().getIdColumn();
184 return new Field<Integer>((Integer)c.getRaw(this), c);
185 }
186
187
188 /**
189 * Retrieves the <code>Displayname</code> value, without locking,
190 * for this <code>Campaign</code> <code>Persistent</code>.
191 *
192 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
193 * @return the String displayname
194 */
195 public String getDisplayname_unsafe() {
196 return displayname;
197 }
198
199
200 /**
201 * Sets the <code>Displayname</code> value directly, without checking,
202 * for this Campaign <code>Persistent</code>.
203 *
204 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
205 * @param cooked the pre-validated value to set
206 */
207 public void setDisplayname_unsafe(String cooked) {
208 displayname = cooked;
209 }
210
211 /**
212 * Retrieves the Displayname value, with locking, for this
213 * <code>Campaign</code> <code>Persistent</code>.
214 * Field description:
215 * The Campaign's name
216 *
217 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
218 * @throws AccessPoemException
219 * if the current <code>AccessToken</code>
220 * does not confer write access rights
221 * @return the value of the field <code>Displayname</code> for this
222 * <code>Campaign</code> <code>Persistent</code>
223 */
224
225 public String getDisplayname()
226 throws AccessPoemException {
227 readLock();
228 return getDisplayname_unsafe();
229 }
230
231
232 /**
233 * Sets the <code>Displayname</code> value, with checking, for this
234 * <code>Campaign</code> <code>Persistent</code>.
235 * Field description:
236 * The Campaign's name
237 *
238 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
239 * @param cooked a validated <code>int</code>
240 * @throws AccessPoemException
241 * if the current <code>AccessToken</code>
242 * does not confer write access rights
243 * @throws ValidationPoemException
244 * if the value is not valid
245 */
246 public void setDisplayname(String cooked)
247 throws AccessPoemException, ValidationPoemException {
248 _getCampaignTable().getDisplaynameColumn().
249 getType().assertValidCooked(cooked);
250 writeLock();
251 setDisplayname_unsafe(cooked);
252 }
253
254
255 /**
256 * Retrieves the <code>Displayname</code> value as a <code>Field</code>
257 * from this <code>Campaign</code> <code>Persistent</code>.
258 *
259 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
260 * @throws AccessPoemException
261 * if the current <code>AccessToken</code>
262 * does not confer write access rights
263 * @return the String displayname
264 */
265 public Field<String> getDisplaynameField() throws AccessPoemException {
266 Column<String> c = _getCampaignTable().getDisplaynameColumn();
267 return new Field<String>((String)c.getRaw(this), c);
268 }
269
270
271 /**
272 * Retrieves the <code>Created</code> value, without locking,
273 * for this <code>Campaign</code> <code>Persistent</code>.
274 *
275 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
276 * @return the Timestamp created
277 */
278 public Timestamp getCreated_unsafe() {
279 return created;
280 }
281
282
283 /**
284 * Sets the <code>Created</code> value directly, without checking,
285 * for this Campaign <code>Persistent</code>.
286 *
287 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
288 * @param cooked the pre-validated value to set
289 */
290 public void setCreated_unsafe(Timestamp cooked) {
291 created = cooked;
292 }
293
294 /**
295 * Retrieves the Created value, with locking, for this
296 * <code>Campaign</code> <code>Persistent</code>.
297 * Field description:
298 * When this Campaign was created
299 *
300 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
301 * @throws AccessPoemException
302 * if the current <code>AccessToken</code>
303 * does not confer write access rights
304 * @return the value of the field <code>Created</code> for this
305 * <code>Campaign</code> <code>Persistent</code>
306 */
307
308 public Timestamp getCreated()
309 throws AccessPoemException {
310 readLock();
311 return getCreated_unsafe();
312 }
313
314
315 /**
316 * Sets the <code>Created</code> value, with checking, for this
317 * <code>Campaign</code> <code>Persistent</code>.
318 * Field description:
319 * When this Campaign was created
320 *
321 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
322 * @param cooked a validated <code>int</code>
323 * @throws AccessPoemException
324 * if the current <code>AccessToken</code>
325 * does not confer write access rights
326 * @throws ValidationPoemException
327 * if the value is not valid
328 */
329 public void setCreated(Timestamp cooked)
330 throws AccessPoemException, ValidationPoemException {
331 _getCampaignTable().getCreatedColumn().
332 getType().assertValidCooked(cooked);
333 writeLock();
334 setCreated_unsafe(cooked);
335 }
336
337
338 /**
339 * Retrieves the <code>Created</code> value as a <code>Field</code>
340 * from this <code>Campaign</code> <code>Persistent</code>.
341 *
342 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
343 * @throws AccessPoemException
344 * if the current <code>AccessToken</code>
345 * does not confer write access rights
346 * @return the Timestamp created
347 */
348 public Field<Timestamp> getCreatedField() throws AccessPoemException {
349 Column<Timestamp> c = _getCampaignTable().getCreatedColumn();
350 return new Field<Timestamp>((Timestamp)c.getRaw(this), c);
351 }
352
353
354 /**
355 * Retrieves the <code>Lastrun</code> value, without locking,
356 * for this <code>Campaign</code> <code>Persistent</code>.
357 *
358 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
359 * @return the Timestamp lastrun
360 */
361 public Timestamp getLastrun_unsafe() {
362 return lastrun;
363 }
364
365
366 /**
367 * Sets the <code>Lastrun</code> value directly, without checking,
368 * for this Campaign <code>Persistent</code>.
369 *
370 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
371 * @param cooked the pre-validated value to set
372 */
373 public void setLastrun_unsafe(Timestamp cooked) {
374 lastrun = cooked;
375 }
376
377 /**
378 * Retrieves the Lastrun value, with locking, for this
379 * <code>Campaign</code> <code>Persistent</code>.
380 * Field description:
381 * When the users in this his Campaign were last emailed
382 *
383 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
384 * @throws AccessPoemException
385 * if the current <code>AccessToken</code>
386 * does not confer write access rights
387 * @return the value of the field <code>Lastrun</code> for this
388 * <code>Campaign</code> <code>Persistent</code>
389 */
390
391 public Timestamp getLastrun()
392 throws AccessPoemException {
393 readLock();
394 return getLastrun_unsafe();
395 }
396
397
398 /**
399 * Sets the <code>Lastrun</code> value, with checking, for this
400 * <code>Campaign</code> <code>Persistent</code>.
401 * Field description:
402 * When the users in this his Campaign were last emailed
403 *
404 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
405 * @param cooked a validated <code>int</code>
406 * @throws AccessPoemException
407 * if the current <code>AccessToken</code>
408 * does not confer write access rights
409 * @throws ValidationPoemException
410 * if the value is not valid
411 */
412 public void setLastrun(Timestamp cooked)
413 throws AccessPoemException, ValidationPoemException {
414 _getCampaignTable().getLastrunColumn().
415 getType().assertValidCooked(cooked);
416 writeLock();
417 setLastrun_unsafe(cooked);
418 }
419
420
421 /**
422 * Retrieves the <code>Lastrun</code> value as a <code>Field</code>
423 * from this <code>Campaign</code> <code>Persistent</code>.
424 *
425 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
426 * @throws AccessPoemException
427 * if the current <code>AccessToken</code>
428 * does not confer write access rights
429 * @return the Timestamp lastrun
430 */
431 public Field<Timestamp> getLastrunField() throws AccessPoemException {
432 Column<Timestamp> c = _getCampaignTable().getLastrunColumn();
433 return new Field<Timestamp>((Timestamp)c.getRaw(this), c);
434 }
435
436
437 /**
438 * Retrieves the <code>Output</code> value, without locking,
439 * for this <code>Campaign</code> <code>Persistent</code>.
440 *
441 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
442 * @return the String output
443 */
444 public String getOutput_unsafe() {
445 return output;
446 }
447
448
449 /**
450 * Sets the <code>Output</code> value directly, without checking,
451 * for this Campaign <code>Persistent</code>.
452 *
453 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
454 * @param cooked the pre-validated value to set
455 */
456 public void setOutput_unsafe(String cooked) {
457 output = cooked;
458 }
459
460 /**
461 * Retrieves the Output value, with locking, for this
462 * <code>Campaign</code> <code>Persistent</code>.
463 * Field description:
464 * The file containing the output from the last run
465 *
466 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
467 * @throws AccessPoemException
468 * if the current <code>AccessToken</code>
469 * does not confer write access rights
470 * @return the value of the field <code>Output</code> for this
471 * <code>Campaign</code> <code>Persistent</code>
472 */
473
474 public String getOutput()
475 throws AccessPoemException {
476 readLock();
477 return getOutput_unsafe();
478 }
479
480
481 /**
482 * Sets the <code>Output</code> value, with checking, for this
483 * <code>Campaign</code> <code>Persistent</code>.
484 * Field description:
485 * The file containing the output from the last run
486 *
487 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
488 * @param cooked a validated <code>int</code>
489 * @throws AccessPoemException
490 * if the current <code>AccessToken</code>
491 * does not confer write access rights
492 * @throws ValidationPoemException
493 * if the value is not valid
494 */
495 public void setOutput(String cooked)
496 throws AccessPoemException, ValidationPoemException {
497 _getCampaignTable().getOutputColumn().
498 getType().assertValidCooked(cooked);
499 writeLock();
500 setOutput_unsafe(cooked);
501 }
502
503
504 /**
505 * Retrieves the <code>Output</code> value as a <code>Field</code>
506 * from this <code>Campaign</code> <code>Persistent</code>.
507 *
508 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
509 * @throws AccessPoemException
510 * if the current <code>AccessToken</code>
511 * does not confer write access rights
512 * @return the String output
513 */
514 public Field<String> getOutputField() throws AccessPoemException {
515 Column<String> c = _getCampaignTable().getOutputColumn();
516 return new Field<String>((String)c.getRaw(this), c);
517 }
518
519
520 /**
521 * Retrieves the <code>Comment</code> value, without locking,
522 * for this <code>Campaign</code> <code>Persistent</code>.
523 *
524 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
525 * @return the String comment
526 */
527 public String getComment_unsafe() {
528 return comment;
529 }
530
531
532 /**
533 * Sets the <code>Comment</code> value directly, without checking,
534 * for this Campaign <code>Persistent</code>.
535 *
536 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
537 * @param cooked the pre-validated value to set
538 */
539 public void setComment_unsafe(String cooked) {
540 comment = cooked;
541 }
542
543 /**
544 * Retrieves the Comment value, with locking, for this
545 * <code>Campaign</code> <code>Persistent</code>.
546 * Field description:
547 * Any comments on this Campaign
548 *
549 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
550 * @throws AccessPoemException
551 * if the current <code>AccessToken</code>
552 * does not confer write access rights
553 * @return the value of the field <code>Comment</code> for this
554 * <code>Campaign</code> <code>Persistent</code>
555 */
556
557 public String getComment()
558 throws AccessPoemException {
559 readLock();
560 return getComment_unsafe();
561 }
562
563
564 /**
565 * Sets the <code>Comment</code> value, with checking, for this
566 * <code>Campaign</code> <code>Persistent</code>.
567 * Field description:
568 * Any comments on this Campaign
569 *
570 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
571 * @param cooked a validated <code>int</code>
572 * @throws AccessPoemException
573 * if the current <code>AccessToken</code>
574 * does not confer write access rights
575 * @throws ValidationPoemException
576 * if the value is not valid
577 */
578 public void setComment(String cooked)
579 throws AccessPoemException, ValidationPoemException {
580 _getCampaignTable().getCommentColumn().
581 getType().assertValidCooked(cooked);
582 writeLock();
583 setComment_unsafe(cooked);
584 }
585
586
587 /**
588 * Retrieves the <code>Comment</code> value as a <code>Field</code>
589 * from this <code>Campaign</code> <code>Persistent</code>.
590 *
591 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
592 * @throws AccessPoemException
593 * if the current <code>AccessToken</code>
594 * does not confer write access rights
595 * @return the String comment
596 */
597 public Field<String> getCommentField() throws AccessPoemException {
598 Column<String> c = _getCampaignTable().getCommentColumn();
599 return new Field<String>((String)c.getRaw(this), c);
600 }
601
602
603 /**
604 * Retrieves the <code>Template</code> value, without locking,
605 * for this <code>Campaign</code> <code>Persistent</code>.
606 *
607 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
608 * @return the String template
609 */
610 public String getTemplate_unsafe() {
611 return template;
612 }
613
614
615 /**
616 * Sets the <code>Template</code> value directly, without checking,
617 * for this Campaign <code>Persistent</code>.
618 *
619 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
620 * @param cooked the pre-validated value to set
621 */
622 public void setTemplate_unsafe(String cooked) {
623 template = cooked;
624 }
625
626 /**
627 * Retrieves the Template value, with locking, for this
628 * <code>Campaign</code> <code>Persistent</code>.
629 * Field description:
630 * A template for the email to be sent
631 *
632 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
633 * @throws AccessPoemException
634 * if the current <code>AccessToken</code>
635 * does not confer write access rights
636 * @return the value of the field <code>Template</code> for this
637 * <code>Campaign</code> <code>Persistent</code>
638 */
639
640 public String getTemplate()
641 throws AccessPoemException {
642 readLock();
643 return getTemplate_unsafe();
644 }
645
646
647 /**
648 * Sets the <code>Template</code> value, with checking, for this
649 * <code>Campaign</code> <code>Persistent</code>.
650 * Field description:
651 * A template for the email to be sent
652 *
653 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
654 * @param cooked a validated <code>int</code>
655 * @throws AccessPoemException
656 * if the current <code>AccessToken</code>
657 * does not confer write access rights
658 * @throws ValidationPoemException
659 * if the value is not valid
660 */
661 public void setTemplate(String cooked)
662 throws AccessPoemException, ValidationPoemException {
663 _getCampaignTable().getTemplateColumn().
664 getType().assertValidCooked(cooked);
665 writeLock();
666 setTemplate_unsafe(cooked);
667 }
668
669
670 /**
671 * Retrieves the <code>Template</code> value as a <code>Field</code>
672 * from this <code>Campaign</code> <code>Persistent</code>.
673 *
674 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
675 * @throws AccessPoemException
676 * if the current <code>AccessToken</code>
677 * does not confer write access rights
678 * @return the String template
679 */
680 public Field<String> getTemplateField() throws AccessPoemException {
681 Column<String> c = _getCampaignTable().getTemplateColumn();
682 return new Field<String>((String)c.getRaw(this), c);
683 }
684
685 private CachedSelection<CampaignUser> campaignCampaignUsers = null;
686 /** References to this Campaign in the CampaignUser table via its campaign field.*/
687 @SuppressWarnings("unchecked")
688 public Enumeration<CampaignUser> getCampaignCampaignUsers() {
689 if (getTroid() == null)
690 return new EmptyEnumeration<CampaignUser>();
691 else {
692 if (campaignCampaignUsers == null)
693 campaignCampaignUsers =
694 getBibliomaniaDatabaseTables().getCampaignUserTable().getCampaignColumn().cachedSelectionWhereEq(getTroid());
695 return campaignCampaignUsers.objects();
696 }
697 }
698
699
700 /** References to this Campaign in the CampaignUser table via its campaign field, as a List.*/
701 public List<CampaignUser> getCampaignCampaignUserList() {
702 return Collections.list(getCampaignCampaignUsers());
703 }
704
705
706
707 }
708