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.JdbcPersistent;
14 import org.melati.poem.ValidationPoemException;
15 import org.melati.poem.util.EmptyEnumeration;
16 import org.paneris.bibliomania.BibliomaniaDatabaseTables;
17 import org.paneris.bibliomania.Product;
18 import org.paneris.bibliomania.Publisher;
19 import org.paneris.bibliomania.PublisherTable;
20
21
22 /**
23 * Melati POEM generated abstract base class for a <code>Persistent</code>
24 * <code>Publisher</code> Object.
25 *
26 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
27 */
28 public abstract class PublisherBase extends JdbcPersistent {
29
30
31 /**
32 * Retrieves the Database object.
33 *
34 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
35 * @return the database
36 */
37 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() {
38 return (BibliomaniaDatabaseTables)getDatabase();
39 }
40
41
42 /**
43 * Retrieves the <code>PublisherTable</code> table
44 * which this <code>Persistent</code> is from.
45 *
46 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
47 * @return the PublisherTable
48 */
49 @SuppressWarnings("unchecked")
50 public PublisherTable<Publisher> getPublisherTable() {
51 return (PublisherTable<Publisher>)getTable();
52 }
53
54 @SuppressWarnings("unchecked")
55 private PublisherTable<Publisher> _getPublisherTable() {
56 return (PublisherTable<Publisher>)getTable();
57 }
58
59 // Fields in this table
60 /**
61 * id
62 */
63 protected Integer id;
64 /**
65 * Name - The full name of the Publisher
66 */
67 protected String name;
68 /**
69 * Address - A postal address for the Publisher
70 */
71 protected String address;
72 /**
73 * Contact Name - The person who will deal with queries
74 */
75 protected String contact;
76 /**
77 * email - An email address used to contact this Publisher
78 */
79 protected String email;
80 /**
81 * website - The website for this Publisher, if they have one
82 */
83 protected String website;
84
85
86 /**
87 * Retrieves the <code>Id</code> value, without locking,
88 * for this <code>Publisher</code> <code>Persistent</code>.
89 *
90 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
91 * @return the Integer id
92 */
93 public Integer getId_unsafe() {
94 return id;
95 }
96
97
98 /**
99 * Sets the <code>Id</code> value directly, without checking,
100 * for this Publisher <code>Persistent</code>.
101 *
102 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
103 * @param cooked the pre-validated value to set
104 */
105 public void setId_unsafe(Integer cooked) {
106 id = cooked;
107 }
108
109 /**
110 * Retrieves the Id value, with locking, for this
111 * <code>Publisher</code> <code>Persistent</code>.
112 *
113 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
114 * @throws AccessPoemException
115 * if the current <code>AccessToken</code>
116 * does not confer write access rights
117 * @return the value of the field <code>Id</code> for this
118 * <code>Publisher</code> <code>Persistent</code>
119 */
120
121 public Integer getId()
122 throws AccessPoemException {
123 readLock();
124 return getId_unsafe();
125 }
126
127
128 /**
129 * Sets the <code>Id</code> value, with checking, for this
130 * <code>Publisher</code> <code>Persistent</code>.
131 *
132 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
133 * @param cooked a validated <code>int</code>
134 * @throws AccessPoemException
135 * if the current <code>AccessToken</code>
136 * does not confer write access rights
137 * @throws ValidationPoemException
138 * if the value is not valid
139 */
140 public void setId(Integer cooked)
141 throws AccessPoemException, ValidationPoemException {
142 _getPublisherTable().getIdColumn().
143 getType().assertValidCooked(cooked);
144 writeLock();
145 setId_unsafe(cooked);
146 }
147
148 /**
149 * Sets the <code>Id</code> value, with checking, for this
150 * <code>Publisher</code> <code>Persistent</code>.
151 *
152 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
153 * @param cooked a validated <code>int</code>
154 * @throws AccessPoemException
155 * if the current <code>AccessToken</code>
156 * does not confer write access rights
157 * @throws ValidationPoemException
158 * if the value is not valid
159 */
160
161 public final void setId(int cooked)
162 throws AccessPoemException, ValidationPoemException {
163 setId(new Integer(cooked));
164 }
165
166
167 /**
168 * Retrieves the <code>Id</code> value as a <code>Field</code>
169 * from this <code>Publisher</code> <code>Persistent</code>.
170 *
171 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
172 * @throws AccessPoemException
173 * if the current <code>AccessToken</code>
174 * does not confer write access rights
175 * @return the Integer id
176 */
177 public Field<Integer> getIdField() throws AccessPoemException {
178 Column<Integer> c = _getPublisherTable().getIdColumn();
179 return new Field<Integer>((Integer)c.getRaw(this), c);
180 }
181
182
183 /**
184 * Retrieves the <code>Name</code> value, without locking,
185 * for this <code>Publisher</code> <code>Persistent</code>.
186 *
187 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
188 * @return the String name
189 */
190 public String getName_unsafe() {
191 return name;
192 }
193
194
195 /**
196 * Sets the <code>Name</code> value directly, without checking,
197 * for this Publisher <code>Persistent</code>.
198 *
199 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
200 * @param cooked the pre-validated value to set
201 */
202 public void setName_unsafe(String cooked) {
203 name = cooked;
204 }
205
206 /**
207 * Retrieves the Name value, with locking, for this
208 * <code>Publisher</code> <code>Persistent</code>.
209 * Field description:
210 * The full name of the Publisher
211 *
212 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
213 * @throws AccessPoemException
214 * if the current <code>AccessToken</code>
215 * does not confer write access rights
216 * @return the value of the field <code>Name</code> for this
217 * <code>Publisher</code> <code>Persistent</code>
218 */
219
220 public String getName()
221 throws AccessPoemException {
222 readLock();
223 return getName_unsafe();
224 }
225
226
227 /**
228 * Sets the <code>Name</code> value, with checking, for this
229 * <code>Publisher</code> <code>Persistent</code>.
230 * Field description:
231 * The full name of the Publisher
232 *
233 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
234 * @param cooked a validated <code>int</code>
235 * @throws AccessPoemException
236 * if the current <code>AccessToken</code>
237 * does not confer write access rights
238 * @throws ValidationPoemException
239 * if the value is not valid
240 */
241 public void setName(String cooked)
242 throws AccessPoemException, ValidationPoemException {
243 _getPublisherTable().getNameColumn().
244 getType().assertValidCooked(cooked);
245 writeLock();
246 setName_unsafe(cooked);
247 }
248
249
250 /**
251 * Retrieves the <code>Name</code> value as a <code>Field</code>
252 * from this <code>Publisher</code> <code>Persistent</code>.
253 *
254 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
255 * @throws AccessPoemException
256 * if the current <code>AccessToken</code>
257 * does not confer write access rights
258 * @return the String name
259 */
260 public Field<String> getNameField() throws AccessPoemException {
261 Column<String> c = _getPublisherTable().getNameColumn();
262 return new Field<String>((String)c.getRaw(this), c);
263 }
264
265
266 /**
267 * Retrieves the <code>Address</code> value, without locking,
268 * for this <code>Publisher</code> <code>Persistent</code>.
269 *
270 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
271 * @return the String address
272 */
273 public String getAddress_unsafe() {
274 return address;
275 }
276
277
278 /**
279 * Sets the <code>Address</code> value directly, without checking,
280 * for this Publisher <code>Persistent</code>.
281 *
282 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
283 * @param cooked the pre-validated value to set
284 */
285 public void setAddress_unsafe(String cooked) {
286 address = cooked;
287 }
288
289 /**
290 * Retrieves the Address value, with locking, for this
291 * <code>Publisher</code> <code>Persistent</code>.
292 * Field description:
293 * A postal address for the Publisher
294 *
295 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
296 * @throws AccessPoemException
297 * if the current <code>AccessToken</code>
298 * does not confer write access rights
299 * @return the value of the field <code>Address</code> for this
300 * <code>Publisher</code> <code>Persistent</code>
301 */
302
303 public String getAddress()
304 throws AccessPoemException {
305 readLock();
306 return getAddress_unsafe();
307 }
308
309
310 /**
311 * Sets the <code>Address</code> value, with checking, for this
312 * <code>Publisher</code> <code>Persistent</code>.
313 * Field description:
314 * A postal address for the Publisher
315 *
316 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
317 * @param cooked a validated <code>int</code>
318 * @throws AccessPoemException
319 * if the current <code>AccessToken</code>
320 * does not confer write access rights
321 * @throws ValidationPoemException
322 * if the value is not valid
323 */
324 public void setAddress(String cooked)
325 throws AccessPoemException, ValidationPoemException {
326 _getPublisherTable().getAddressColumn().
327 getType().assertValidCooked(cooked);
328 writeLock();
329 setAddress_unsafe(cooked);
330 }
331
332
333 /**
334 * Retrieves the <code>Address</code> value as a <code>Field</code>
335 * from this <code>Publisher</code> <code>Persistent</code>.
336 *
337 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
338 * @throws AccessPoemException
339 * if the current <code>AccessToken</code>
340 * does not confer write access rights
341 * @return the String address
342 */
343 public Field<String> getAddressField() throws AccessPoemException {
344 Column<String> c = _getPublisherTable().getAddressColumn();
345 return new Field<String>((String)c.getRaw(this), c);
346 }
347
348
349 /**
350 * Retrieves the <code>Contact</code> value, without locking,
351 * for this <code>Publisher</code> <code>Persistent</code>.
352 *
353 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
354 * @return the String contact
355 */
356 public String getContact_unsafe() {
357 return contact;
358 }
359
360
361 /**
362 * Sets the <code>Contact</code> value directly, without checking,
363 * for this Publisher <code>Persistent</code>.
364 *
365 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
366 * @param cooked the pre-validated value to set
367 */
368 public void setContact_unsafe(String cooked) {
369 contact = cooked;
370 }
371
372 /**
373 * Retrieves the Contact value, with locking, for this
374 * <code>Publisher</code> <code>Persistent</code>.
375 * Field description:
376 * The person who will deal with queries
377 *
378 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
379 * @throws AccessPoemException
380 * if the current <code>AccessToken</code>
381 * does not confer write access rights
382 * @return the value of the field <code>Contact</code> for this
383 * <code>Publisher</code> <code>Persistent</code>
384 */
385
386 public String getContact()
387 throws AccessPoemException {
388 readLock();
389 return getContact_unsafe();
390 }
391
392
393 /**
394 * Sets the <code>Contact</code> value, with checking, for this
395 * <code>Publisher</code> <code>Persistent</code>.
396 * Field description:
397 * The person who will deal with queries
398 *
399 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
400 * @param cooked a validated <code>int</code>
401 * @throws AccessPoemException
402 * if the current <code>AccessToken</code>
403 * does not confer write access rights
404 * @throws ValidationPoemException
405 * if the value is not valid
406 */
407 public void setContact(String cooked)
408 throws AccessPoemException, ValidationPoemException {
409 _getPublisherTable().getContactColumn().
410 getType().assertValidCooked(cooked);
411 writeLock();
412 setContact_unsafe(cooked);
413 }
414
415
416 /**
417 * Retrieves the <code>Contact</code> value as a <code>Field</code>
418 * from this <code>Publisher</code> <code>Persistent</code>.
419 *
420 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
421 * @throws AccessPoemException
422 * if the current <code>AccessToken</code>
423 * does not confer write access rights
424 * @return the String contact
425 */
426 public Field<String> getContactField() throws AccessPoemException {
427 Column<String> c = _getPublisherTable().getContactColumn();
428 return new Field<String>((String)c.getRaw(this), c);
429 }
430
431
432 /**
433 * Retrieves the <code>Email</code> value, without locking,
434 * for this <code>Publisher</code> <code>Persistent</code>.
435 *
436 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
437 * @return the String email
438 */
439 public String getEmail_unsafe() {
440 return email;
441 }
442
443
444 /**
445 * Sets the <code>Email</code> value directly, without checking,
446 * for this Publisher <code>Persistent</code>.
447 *
448 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
449 * @param cooked the pre-validated value to set
450 */
451 public void setEmail_unsafe(String cooked) {
452 email = cooked;
453 }
454
455 /**
456 * Retrieves the Email value, with locking, for this
457 * <code>Publisher</code> <code>Persistent</code>.
458 * Field description:
459 * An email address used to contact this Publisher
460 *
461 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
462 * @throws AccessPoemException
463 * if the current <code>AccessToken</code>
464 * does not confer write access rights
465 * @return the value of the field <code>Email</code> for this
466 * <code>Publisher</code> <code>Persistent</code>
467 */
468
469 public String getEmail()
470 throws AccessPoemException {
471 readLock();
472 return getEmail_unsafe();
473 }
474
475
476 /**
477 * Sets the <code>Email</code> value, with checking, for this
478 * <code>Publisher</code> <code>Persistent</code>.
479 * Field description:
480 * An email address used to contact this Publisher
481 *
482 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
483 * @param cooked a validated <code>int</code>
484 * @throws AccessPoemException
485 * if the current <code>AccessToken</code>
486 * does not confer write access rights
487 * @throws ValidationPoemException
488 * if the value is not valid
489 */
490 public void setEmail(String cooked)
491 throws AccessPoemException, ValidationPoemException {
492 _getPublisherTable().getEmailColumn().
493 getType().assertValidCooked(cooked);
494 writeLock();
495 setEmail_unsafe(cooked);
496 }
497
498
499 /**
500 * Retrieves the <code>Email</code> value as a <code>Field</code>
501 * from this <code>Publisher</code> <code>Persistent</code>.
502 *
503 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
504 * @throws AccessPoemException
505 * if the current <code>AccessToken</code>
506 * does not confer write access rights
507 * @return the String email
508 */
509 public Field<String> getEmailField() throws AccessPoemException {
510 Column<String> c = _getPublisherTable().getEmailColumn();
511 return new Field<String>((String)c.getRaw(this), c);
512 }
513
514
515 /**
516 * Retrieves the <code>Website</code> value, without locking,
517 * for this <code>Publisher</code> <code>Persistent</code>.
518 *
519 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
520 * @return the String website
521 */
522 public String getWebsite_unsafe() {
523 return website;
524 }
525
526
527 /**
528 * Sets the <code>Website</code> value directly, without checking,
529 * for this Publisher <code>Persistent</code>.
530 *
531 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
532 * @param cooked the pre-validated value to set
533 */
534 public void setWebsite_unsafe(String cooked) {
535 website = cooked;
536 }
537
538 /**
539 * Retrieves the Website value, with locking, for this
540 * <code>Publisher</code> <code>Persistent</code>.
541 * Field description:
542 * The website for this Publisher, if they have one
543 *
544 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
545 * @throws AccessPoemException
546 * if the current <code>AccessToken</code>
547 * does not confer write access rights
548 * @return the value of the field <code>Website</code> for this
549 * <code>Publisher</code> <code>Persistent</code>
550 */
551
552 public String getWebsite()
553 throws AccessPoemException {
554 readLock();
555 return getWebsite_unsafe();
556 }
557
558
559 /**
560 * Sets the <code>Website</code> value, with checking, for this
561 * <code>Publisher</code> <code>Persistent</code>.
562 * Field description:
563 * The website for this Publisher, if they have one
564 *
565 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
566 * @param cooked a validated <code>int</code>
567 * @throws AccessPoemException
568 * if the current <code>AccessToken</code>
569 * does not confer write access rights
570 * @throws ValidationPoemException
571 * if the value is not valid
572 */
573 public void setWebsite(String cooked)
574 throws AccessPoemException, ValidationPoemException {
575 _getPublisherTable().getWebsiteColumn().
576 getType().assertValidCooked(cooked);
577 writeLock();
578 setWebsite_unsafe(cooked);
579 }
580
581
582 /**
583 * Retrieves the <code>Website</code> value as a <code>Field</code>
584 * from this <code>Publisher</code> <code>Persistent</code>.
585 *
586 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
587 * @throws AccessPoemException
588 * if the current <code>AccessToken</code>
589 * does not confer write access rights
590 * @return the String website
591 */
592 public Field<String> getWebsiteField() throws AccessPoemException {
593 Column<String> c = _getPublisherTable().getWebsiteColumn();
594 return new Field<String>((String)c.getRaw(this), c);
595 }
596
597 private CachedSelection<Product> publisherProducts = null;
598 /** References to this Publisher in the Product table via its publisher field.*/
599 @SuppressWarnings("unchecked")
600 public Enumeration<Product> getPublisherProducts() {
601 if (getTroid() == null)
602 return new EmptyEnumeration<Product>();
603 else {
604 if (publisherProducts == null)
605 publisherProducts =
606 getBibliomaniaDatabaseTables().getProductTable().getPublisherColumn().cachedSelectionWhereEq(getTroid());
607 return publisherProducts.objects();
608 }
609 }
610
611
612 /** References to this Publisher in the Product table via its publisher field, as a List.*/
613 public List<Product> getPublisherProductList() {
614 return Collections.list(getPublisherProducts());
615 }
616
617
618
619 }
620