View Javadoc

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.BookStocking;
18  import org.paneris.bibliomania.Bookshop;
19  import org.paneris.bibliomania.BookshopTable;
20  
21  
22  /**
23   * Melati POEM generated abstract base class for a <code>Persistent</code> 
24   * <code>Bookshop</code> Object.
25   *
26   * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
27   */
28  public abstract class BookshopBase 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>BookshopTable</code> table 
44    * which this <code>Persistent</code> is from.
45    * 
46    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
47    * @return the BookshopTable
48    */
49    @SuppressWarnings("unchecked")
50    public BookshopTable<Bookshop> getBookshopTable() {
51      return (BookshopTable<Bookshop>)getTable();
52    }
53  
54    @SuppressWarnings("unchecked")
55    private BookshopTable<Bookshop> _getBookshopTable() {
56      return (BookshopTable<Bookshop>)getTable();
57    }
58  
59    // Fields in this table 
60   /**
61    * id 
62    */
63    protected Integer id;
64   /**
65    * code - The system codename for the shop: must be BOB for blackwell.co.uk, 
66    * BOLUK for uk.bol.com 
67    */
68    protected String code;
69   /**
70    * Display name - A display name for the bookshop 
71    */
72    protected String displayname;
73   /**
74    * Flag image name - The name of a flag image file in 
75    * bibliomania/html/graphics to be displayed next to the bookshop's 
76    * stockings 
77    */
78    protected String flagfilename;
79   /**
80    * disabled - Whether the shop should currently be excluded from searches 
81    * (takes effect next time server restarted) 
82    */
83    protected Boolean disabled;
84  
85  
86   /**
87    * Retrieves the <code>Id</code> value, without locking, 
88    * for this <code>Bookshop</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 Bookshop <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>Bookshop</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>Bookshop</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>Bookshop</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     _getBookshopTable().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>Bookshop</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>Bookshop</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 = _getBookshopTable().getIdColumn();
179     return new Field<Integer>((Integer)c.getRaw(this), c);
180   }
181 
182 
183  /**
184   * Retrieves the <code>Code</code> value, without locking, 
185   * for this <code>Bookshop</code> <code>Persistent</code>.
186   *
187   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
188   * @return the String code
189   */
190   public String getCode_unsafe() {
191     return code;
192   }
193 
194 
195  /**
196   * Sets the <code>Code</code> value directly, without checking, 
197   * for this Bookshop <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 setCode_unsafe(String cooked) {
203     code = cooked;
204   }
205 
206  /**
207   * Retrieves the Code value, with locking, for this 
208   * <code>Bookshop</code> <code>Persistent</code>.
209   * Field description: 
210   *   The system codename for the shop: must be BOB for blackwell.co.uk, 
211   *   BOLUK for uk.bol.com 
212   * 
213   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
214   * @throws AccessPoemException 
215   *         if the current <code>AccessToken</code> 
216   *         does not confer write access rights 
217   * @return the value of the field <code>Code</code> for this 
218   *         <code>Bookshop</code> <code>Persistent</code>  
219   */
220 
221   public String getCode()
222       throws AccessPoemException {
223     readLock();
224     return getCode_unsafe();
225   }
226 
227 
228  /**
229   * Sets the <code>Code</code> value, with checking, for this 
230   * <code>Bookshop</code> <code>Persistent</code>.
231   * Field description: 
232   *   The system codename for the shop: must be BOB for blackwell.co.uk, 
233   *   BOLUK for uk.bol.com 
234   * 
235   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
236   * @param cooked  a validated <code>int</code> 
237   * @throws AccessPoemException 
238   *         if the current <code>AccessToken</code> 
239   *         does not confer write access rights
240   * @throws ValidationPoemException 
241   *         if the value is not valid
242   */
243   public void setCode(String cooked)
244       throws AccessPoemException, ValidationPoemException {
245     _getBookshopTable().getCodeColumn().
246       getType().assertValidCooked(cooked);
247     writeLock();
248     setCode_unsafe(cooked);
249   }
250 
251 
252  /**
253   * Retrieves the <code>Code</code> value as a <code>Field</code>
254   * from this <code>Bookshop</code> <code>Persistent</code>.
255   * 
256   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
257   * @throws AccessPoemException 
258   *         if the current <code>AccessToken</code> 
259   *         does not confer write access rights
260   * @return the String code
261   */
262   public Field<String> getCodeField() throws AccessPoemException {
263     Column<String> c = _getBookshopTable().getCodeColumn();
264     return new Field<String>((String)c.getRaw(this), c);
265   }
266 
267 
268  /**
269   * Retrieves the <code>Displayname</code> value, without locking, 
270   * for this <code>Bookshop</code> <code>Persistent</code>.
271   *
272   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
273   * @return the String displayname
274   */
275   public String getDisplayname_unsafe() {
276     return displayname;
277   }
278 
279 
280  /**
281   * Sets the <code>Displayname</code> value directly, without checking, 
282   * for this Bookshop <code>Persistent</code>.
283   * 
284   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
285   * @param cooked  the pre-validated value to set
286   */
287   public void setDisplayname_unsafe(String cooked) {
288     displayname = cooked;
289   }
290 
291  /**
292   * Retrieves the Displayname value, with locking, for this 
293   * <code>Bookshop</code> <code>Persistent</code>.
294   * Field description: 
295   *   A display name for the bookshop 
296   * 
297   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
298   * @throws AccessPoemException 
299   *         if the current <code>AccessToken</code> 
300   *         does not confer write access rights 
301   * @return the value of the field <code>Displayname</code> for this 
302   *         <code>Bookshop</code> <code>Persistent</code>  
303   */
304 
305   public String getDisplayname()
306       throws AccessPoemException {
307     readLock();
308     return getDisplayname_unsafe();
309   }
310 
311 
312  /**
313   * Sets the <code>Displayname</code> value, with checking, for this 
314   * <code>Bookshop</code> <code>Persistent</code>.
315   * Field description: 
316   *   A display name for the bookshop 
317   * 
318   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
319   * @param cooked  a validated <code>int</code> 
320   * @throws AccessPoemException 
321   *         if the current <code>AccessToken</code> 
322   *         does not confer write access rights
323   * @throws ValidationPoemException 
324   *         if the value is not valid
325   */
326   public void setDisplayname(String cooked)
327       throws AccessPoemException, ValidationPoemException {
328     _getBookshopTable().getDisplaynameColumn().
329       getType().assertValidCooked(cooked);
330     writeLock();
331     setDisplayname_unsafe(cooked);
332   }
333 
334 
335  /**
336   * Retrieves the <code>Displayname</code> value as a <code>Field</code>
337   * from this <code>Bookshop</code> <code>Persistent</code>.
338   * 
339   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
340   * @throws AccessPoemException 
341   *         if the current <code>AccessToken</code> 
342   *         does not confer write access rights
343   * @return the String displayname
344   */
345   public Field<String> getDisplaynameField() throws AccessPoemException {
346     Column<String> c = _getBookshopTable().getDisplaynameColumn();
347     return new Field<String>((String)c.getRaw(this), c);
348   }
349 
350 
351  /**
352   * Retrieves the <code>Flagfilename</code> value, without locking, 
353   * for this <code>Bookshop</code> <code>Persistent</code>.
354   *
355   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
356   * @return the String flagfilename
357   */
358   public String getFlagfilename_unsafe() {
359     return flagfilename;
360   }
361 
362 
363  /**
364   * Sets the <code>Flagfilename</code> value directly, without checking, 
365   * for this Bookshop <code>Persistent</code>.
366   * 
367   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
368   * @param cooked  the pre-validated value to set
369   */
370   public void setFlagfilename_unsafe(String cooked) {
371     flagfilename = cooked;
372   }
373 
374  /**
375   * Retrieves the Flagfilename value, with locking, for this 
376   * <code>Bookshop</code> <code>Persistent</code>.
377   * Field description: 
378   *   The name of a flag image file in bibliomania/html/graphics to be 
379   *   displayed next to the bookshop's stockings 
380   * 
381   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
382   * @throws AccessPoemException 
383   *         if the current <code>AccessToken</code> 
384   *         does not confer write access rights 
385   * @return the value of the field <code>Flagfilename</code> for this 
386   *         <code>Bookshop</code> <code>Persistent</code>  
387   */
388 
389   public String getFlagfilename()
390       throws AccessPoemException {
391     readLock();
392     return getFlagfilename_unsafe();
393   }
394 
395 
396  /**
397   * Sets the <code>Flagfilename</code> value, with checking, for this 
398   * <code>Bookshop</code> <code>Persistent</code>.
399   * Field description: 
400   *   The name of a flag image file in bibliomania/html/graphics to be 
401   *   displayed next to the bookshop's stockings 
402   * 
403   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
404   * @param cooked  a validated <code>int</code> 
405   * @throws AccessPoemException 
406   *         if the current <code>AccessToken</code> 
407   *         does not confer write access rights
408   * @throws ValidationPoemException 
409   *         if the value is not valid
410   */
411   public void setFlagfilename(String cooked)
412       throws AccessPoemException, ValidationPoemException {
413     _getBookshopTable().getFlagfilenameColumn().
414       getType().assertValidCooked(cooked);
415     writeLock();
416     setFlagfilename_unsafe(cooked);
417   }
418 
419 
420  /**
421   * Retrieves the <code>Flagfilename</code> value as a <code>Field</code>
422   * from this <code>Bookshop</code> <code>Persistent</code>.
423   * 
424   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
425   * @throws AccessPoemException 
426   *         if the current <code>AccessToken</code> 
427   *         does not confer write access rights
428   * @return the String flagfilename
429   */
430   public Field<String> getFlagfilenameField() throws AccessPoemException {
431     Column<String> c = _getBookshopTable().getFlagfilenameColumn();
432     return new Field<String>((String)c.getRaw(this), c);
433   }
434 
435 
436  /**
437   * Retrieves the <code>Disabled</code> value, without locking, 
438   * for this <code>Bookshop</code> <code>Persistent</code>.
439   *
440   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
441   * @return the Boolean disabled
442   */
443   public Boolean getDisabled_unsafe() {
444     return disabled;
445   }
446 
447 
448  /**
449   * Sets the <code>Disabled</code> value directly, without checking, 
450   * for this Bookshop <code>Persistent</code>.
451   * 
452   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
453   * @param cooked  the pre-validated value to set
454   */
455   public void setDisabled_unsafe(Boolean cooked) {
456     disabled = cooked;
457   }
458 
459  /**
460   * Retrieves the Disabled value, with locking, for this 
461   * <code>Bookshop</code> <code>Persistent</code>.
462   * Field description: 
463   *   Whether the shop should currently be excluded from searches (takes 
464   *   effect next time server restarted) 
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>Disabled</code> for this 
471   *         <code>Bookshop</code> <code>Persistent</code>  
472   */
473 
474   public Boolean getDisabled()
475       throws AccessPoemException {
476     readLock();
477     return getDisabled_unsafe();
478   }
479 
480 
481  /**
482   * Sets the <code>Disabled</code> value, with checking, for this 
483   * <code>Bookshop</code> <code>Persistent</code>.
484   * Field description: 
485   *   Whether the shop should currently be excluded from searches (takes 
486   *   effect next time server restarted) 
487   * 
488   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
489   * @param cooked  a validated <code>int</code> 
490   * @throws AccessPoemException 
491   *         if the current <code>AccessToken</code> 
492   *         does not confer write access rights
493   * @throws ValidationPoemException 
494   *         if the value is not valid
495   */
496   public void setDisabled(Boolean cooked)
497       throws AccessPoemException, ValidationPoemException {
498     _getBookshopTable().getDisabledColumn().
499       getType().assertValidCooked(cooked);
500     writeLock();
501     setDisabled_unsafe(cooked);
502   }
503 
504  /**
505   * Sets the <code>Disabled</code> value, with checking, 
506   * from a <code>boolean</code>, for this 
507   * <code>Bookshop</code> <code>Persistent</code>.
508   * Field description: 
509   *   Whether the shop should currently be excluded from searches (takes 
510   *   effect next time server restarted) 
511   * 
512   * 
513   * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 
514   * @param cooked  a <code>boolean</code> 
515   * @throws AccessPoemException 
516   *         if the current <code>AccessToken</code> 
517   *         does not confer write access rights
518   * @throws ValidationPoemException 
519   *         if the value is not valid
520   */
521 
522   public final void setDisabled(boolean cooked)
523       throws AccessPoemException, ValidationPoemException {
524     setDisabled(cooked ? Boolean.TRUE : Boolean.FALSE);
525   }
526 
527 
528  /**
529   * Retrieves the <code>Disabled</code> value as a <code>Field</code>
530   * from this <code>Bookshop</code> <code>Persistent</code>.
531   * 
532   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
533   * @throws AccessPoemException 
534   *         if the current <code>AccessToken</code> 
535   *         does not confer write access rights
536   * @return the Boolean disabled
537   */
538   public Field<Boolean> getDisabledField() throws AccessPoemException {
539     Column<Boolean> c = _getBookshopTable().getDisabledColumn();
540     return new Field<Boolean>((Boolean)c.getRaw(this), c);
541   }
542 
543   private CachedSelection<BookStocking> shopBookStockings = null;
544   /** References to this Bookshop in the BookStocking table via its shop field.*/
545   @SuppressWarnings("unchecked")
546   public Enumeration<BookStocking> getShopBookStockings() {
547     if (getTroid() == null)
548       return new EmptyEnumeration<BookStocking>();
549     else {
550       if (shopBookStockings == null)
551         shopBookStockings =
552           getBibliomaniaDatabaseTables().getBookStockingTable().getShopColumn().cachedSelectionWhereEq(getTroid());
553       return shopBookStockings.objects();
554     }
555   }
556 
557 
558   /** References to this Bookshop in the BookStocking table via its shop field, as a List.*/
559   public List<BookStocking> getShopBookStockingList() {
560     return Collections.list(getShopBookStockings());
561   }
562 
563 
564 
565 }
566