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.sql.Timestamp;
7   import org.melati.poem.AccessPoemException;
8   import org.melati.poem.Column;
9   import org.melati.poem.Field;
10  import org.melati.poem.JdbcPersistent;
11  import org.melati.poem.NoSuchRowPoemException;
12  import org.melati.poem.ValidationPoemException;
13  import org.paneris.bibliomania.BibliomaniaDatabaseTables;
14  import org.paneris.bibliomania.Board;
15  import org.paneris.bibliomania.Layout;
16  import org.paneris.bibliomania.Unit;
17  import org.paneris.bibliomania.UnitTable;
18  
19  
20  /**
21   * Melati POEM generated abstract base class for a <code>Persistent</code> 
22   * <code>Unit</code> Object.
23   *
24   * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
25   */
26  public abstract class UnitBase extends JdbcPersistent {
27  
28  
29   /**
30    * Retrieves the Database object.
31    * 
32    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
33    * @return the database
34    */
35    public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() {
36      return (BibliomaniaDatabaseTables)getDatabase();
37    }
38  
39  
40   /**
41    * Retrieves the  <code>UnitTable</code> table 
42    * which this <code>Persistent</code> is from.
43    * 
44    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
45    * @return the UnitTable
46    */
47    @SuppressWarnings("unchecked")
48    public UnitTable<Unit> getUnitTable() {
49      return (UnitTable<Unit>)getTable();
50    }
51  
52    @SuppressWarnings("unchecked")
53    private UnitTable<Unit> _getUnitTable() {
54      return (UnitTable<Unit>)getTable();
55    }
56  
57    // Fields in this table 
58   /**
59    * path - The path to this unit in the local filesystem, relative to the 
60    * application's workspace 
61    */
62    protected String path;
63   /**
64    * deleted - Whether or not to include this Unit 
65    */
66    protected Boolean deleted;
67   /**
68    * Last encached - When the unit was encached; cleared when the unit is 
69    * updated 
70    */
71    protected Timestamp lastencached;
72   /**
73    * layout - The name of the layout for this Unit 
74    */
75    protected Integer layout;
76   /**
77    * messageboard - A messageboard on which this unit can be discussed 
78    */
79    protected Integer messageboard;
80  
81  
82   /**
83    * Retrieves the <code>Path</code> value, without locking, 
84    * for this <code>Unit</code> <code>Persistent</code>.
85    *
86    * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
87    * @return the String path
88    */
89    public String getPath_unsafe() {
90      return path;
91    }
92  
93  
94   /**
95    * Sets the <code>Path</code> value directly, without checking, 
96    * for this Unit <code>Persistent</code>.
97    * 
98    * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
99    * @param cooked  the pre-validated value to set
100   */
101   public void setPath_unsafe(String cooked) {
102     path = cooked;
103   }
104 
105  /**
106   * Retrieves the Path value, with locking, for this 
107   * <code>Unit</code> <code>Persistent</code>.
108   * Field description: 
109   *   The path to this unit in the local filesystem, relative to the 
110   *   application's workspace 
111   * 
112   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
113   * @throws AccessPoemException 
114   *         if the current <code>AccessToken</code> 
115   *         does not confer write access rights 
116   * @return the value of the field <code>Path</code> for this 
117   *         <code>Unit</code> <code>Persistent</code>  
118   */
119 
120   public String getPath()
121       throws AccessPoemException {
122     readLock();
123     return getPath_unsafe();
124   }
125 
126 
127  /**
128   * Sets the <code>Path</code> value, with checking, for this 
129   * <code>Unit</code> <code>Persistent</code>.
130   * Field description: 
131   *   The path to this unit in the local filesystem, relative to the 
132   *   application's workspace 
133   * 
134   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
135   * @param cooked  a validated <code>int</code> 
136   * @throws AccessPoemException 
137   *         if the current <code>AccessToken</code> 
138   *         does not confer write access rights
139   * @throws ValidationPoemException 
140   *         if the value is not valid
141   */
142   public void setPath(String cooked)
143       throws AccessPoemException, ValidationPoemException {
144     _getUnitTable().getPathColumn().
145       getType().assertValidCooked(cooked);
146     writeLock();
147     setPath_unsafe(cooked);
148   }
149 
150 
151  /**
152   * Retrieves the <code>Path</code> value as a <code>Field</code>
153   * from this <code>Unit</code> <code>Persistent</code>.
154   * 
155   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
156   * @throws AccessPoemException 
157   *         if the current <code>AccessToken</code> 
158   *         does not confer write access rights
159   * @return the String path
160   */
161   public Field<String> getPathField() throws AccessPoemException {
162     Column<String> c = _getUnitTable().getPathColumn();
163     return new Field<String>((String)c.getRaw(this), c);
164   }
165 
166 
167  /**
168   * Retrieves the <code>Deleted</code> value, without locking, 
169   * for this <code>Unit</code> <code>Persistent</code>.
170   *
171   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
172   * @return the Boolean deleted
173   */
174   public Boolean getDeleted_unsafe() {
175     return deleted;
176   }
177 
178 
179  /**
180   * Sets the <code>Deleted</code> value directly, without checking, 
181   * for this Unit <code>Persistent</code>.
182   * 
183   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
184   * @param cooked  the pre-validated value to set
185   */
186   public void setDeleted_unsafe(Boolean cooked) {
187     deleted = cooked;
188   }
189 
190  /**
191   * Retrieves the Deleted value, with locking, for this 
192   * <code>Unit</code> <code>Persistent</code>.
193   * Field description: 
194   *   Whether or not to include this Unit 
195   * 
196   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
197   * @throws AccessPoemException 
198   *         if the current <code>AccessToken</code> 
199   *         does not confer write access rights 
200   * @return the value of the field <code>Deleted</code> for this 
201   *         <code>Unit</code> <code>Persistent</code>  
202   */
203 
204   public Boolean getDeleted()
205       throws AccessPoemException {
206     readLock();
207     return getDeleted_unsafe();
208   }
209 
210 
211  /**
212   * Sets the <code>Deleted</code> value, with checking, for this 
213   * <code>Unit</code> <code>Persistent</code>.
214   * Field description: 
215   *   Whether or not to include this Unit 
216   * 
217   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
218   * @param cooked  a validated <code>int</code> 
219   * @throws AccessPoemException 
220   *         if the current <code>AccessToken</code> 
221   *         does not confer write access rights
222   * @throws ValidationPoemException 
223   *         if the value is not valid
224   */
225   public void setDeleted(Boolean cooked)
226       throws AccessPoemException, ValidationPoemException {
227     _getUnitTable().getDeletedColumn().
228       getType().assertValidCooked(cooked);
229     writeLock();
230     setDeleted_unsafe(cooked);
231   }
232 
233  /**
234   * Sets the <code>Deleted</code> value, with checking, 
235   * from a <code>boolean</code>, for this 
236   * <code>Unit</code> <code>Persistent</code>.
237   * Field description: 
238   *   Whether or not to include this Unit 
239   * 
240   * 
241   * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 
242   * @param cooked  a <code>boolean</code> 
243   * @throws AccessPoemException 
244   *         if the current <code>AccessToken</code> 
245   *         does not confer write access rights
246   * @throws ValidationPoemException 
247   *         if the value is not valid
248   */
249 
250   public final void setDeleted(boolean cooked)
251       throws AccessPoemException, ValidationPoemException {
252     setDeleted(cooked ? Boolean.TRUE : Boolean.FALSE);
253   }
254 
255 
256  /**
257   * Retrieves the <code>Deleted</code> value as a <code>Field</code>
258   * from this <code>Unit</code> <code>Persistent</code>.
259   * 
260   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
261   * @throws AccessPoemException 
262   *         if the current <code>AccessToken</code> 
263   *         does not confer write access rights
264   * @return the Boolean deleted
265   */
266   public Field<Boolean> getDeletedField() throws AccessPoemException {
267     Column<Boolean> c = _getUnitTable().getDeletedColumn();
268     return new Field<Boolean>((Boolean)c.getRaw(this), c);
269   }
270 
271 
272  /**
273   * Retrieves the <code>Lastencached</code> value, without locking, 
274   * for this <code>Unit</code> <code>Persistent</code>.
275   *
276   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
277   * @return the Timestamp lastencached
278   */
279   public Timestamp getLastencached_unsafe() {
280     return lastencached;
281   }
282 
283 
284  /**
285   * Sets the <code>Lastencached</code> value directly, without checking, 
286   * for this Unit <code>Persistent</code>.
287   * 
288   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
289   * @param cooked  the pre-validated value to set
290   */
291   public void setLastencached_unsafe(Timestamp cooked) {
292     lastencached = cooked;
293   }
294 
295  /**
296   * Retrieves the Lastencached value, with locking, for this 
297   * <code>Unit</code> <code>Persistent</code>.
298   * Field description: 
299   *   When the unit was encached; cleared when the unit is updated 
300   * 
301   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
302   * @throws AccessPoemException 
303   *         if the current <code>AccessToken</code> 
304   *         does not confer write access rights 
305   * @return the value of the field <code>Lastencached</code> for this 
306   *         <code>Unit</code> <code>Persistent</code>  
307   */
308 
309   public Timestamp getLastencached()
310       throws AccessPoemException {
311     readLock();
312     return getLastencached_unsafe();
313   }
314 
315 
316  /**
317   * Sets the <code>Lastencached</code> value, with checking, for this 
318   * <code>Unit</code> <code>Persistent</code>.
319   * Field description: 
320   *   When the unit was encached; cleared when the unit is updated 
321   * 
322   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
323   * @param cooked  a validated <code>int</code> 
324   * @throws AccessPoemException 
325   *         if the current <code>AccessToken</code> 
326   *         does not confer write access rights
327   * @throws ValidationPoemException 
328   *         if the value is not valid
329   */
330   public void setLastencached(Timestamp cooked)
331       throws AccessPoemException, ValidationPoemException {
332     _getUnitTable().getLastencachedColumn().
333       getType().assertValidCooked(cooked);
334     writeLock();
335     setLastencached_unsafe(cooked);
336   }
337 
338 
339  /**
340   * Retrieves the <code>Lastencached</code> value as a <code>Field</code>
341   * from this <code>Unit</code> <code>Persistent</code>.
342   * 
343   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
344   * @throws AccessPoemException 
345   *         if the current <code>AccessToken</code> 
346   *         does not confer write access rights
347   * @return the Timestamp lastencached
348   */
349   public Field<Timestamp> getLastencachedField() throws AccessPoemException {
350     Column<Timestamp> c = _getUnitTable().getLastencachedColumn();
351     return new Field<Timestamp>((Timestamp)c.getRaw(this), c);
352   }
353 
354 
355  /**
356   * Retrieves the <code>Layout</code> value, without locking, 
357   * for this <code>Unit</code> <code>Persistent</code>.
358   *
359   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
360   * @return the Integer layout
361   */
362   public Integer getLayout_unsafe() {
363     return layout;
364   }
365 
366 
367  /**
368   * Sets the <code>Layout</code> value directly, without checking, 
369   * for this Unit <code>Persistent</code>.
370   * 
371   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
372   * @param cooked  the pre-validated value to set
373   */
374   public void setLayout_unsafe(Integer cooked) {
375     layout = cooked;
376   }
377 
378  /**
379   * Retrieves the Table Row Object ID. 
380   *
381   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
382   * @throws AccessPoemException  
383   *         if the current <code>AccessToken</code> 
384   *         does not confer read access rights 
385   * @return the TROID as an <code>Integer</code> 
386   */
387 
388   public Integer getLayoutTroid()
389       throws AccessPoemException {
390     readLock();
391     return getLayout_unsafe();
392   }
393 
394 
395  /**
396   * Sets the Table Row Object ID. 
397   * 
398   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
399   * @param raw  a Table Row Object Id 
400   * @throws AccessPoemException  
401   *         if the current <code>AccessToken</code> 
402   *         does not confer write access rights
403   */
404   public void setLayoutTroid(Integer raw)
405       throws AccessPoemException {
406     setLayout(raw == null ? null : 
407         getBibliomaniaDatabaseTables().getLayoutTable().getLayoutObject(raw));
408   }
409 
410 
411  /**
412   * Retrieves the <code>Layout</code> object referred to.
413   *  
414   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
415   * @throws AccessPoemException  
416   *         if the current <code>AccessToken</code> 
417   *         does not confer read access rights 
418   * @throws NoSuchRowPoemException  
419   *         if the <code>Persistent</code> has yet to be allocated a TROID 
420   * @return the <code>Layout</code> as a <code>Layout</code> 
421   */
422   public Layout getLayout()
423       throws AccessPoemException, NoSuchRowPoemException {
424     Integer troid = getLayoutTroid();
425     return troid == null ? null :
426         getBibliomaniaDatabaseTables().getLayoutTable().getLayoutObject(troid);
427   }
428 
429 
430  /**
431   * Set the Layout.
432   * 
433   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
434   * @param cooked  a validated <code>Layout</code>
435   * @throws AccessPoemException  
436   *         if the current <code>AccessToken</code> 
437   *         does not confer write access rights 
438   */
439   public void setLayout(Layout cooked)
440       throws AccessPoemException {
441     _getUnitTable().
442       getLayoutColumn().
443         getType().assertValidCooked(cooked);
444     writeLock();
445     if (cooked == null)
446       setLayout_unsafe(null);
447     else {
448       cooked.existenceLock();
449       setLayout_unsafe(cooked.troid());
450     }
451   }
452 
453 
454  /**
455   * Retrieves the <code>Layout</code> value as a <code>Field</code>
456   * from this <code>Unit</code> <code>Persistent</code>.
457   * 
458   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
459   * @throws AccessPoemException 
460   *         if the current <code>AccessToken</code> 
461   *         does not confer write access rights
462   * @return the Integer layout
463   */
464   public Field<Integer> getLayoutField() throws AccessPoemException {
465     Column<Integer> c = _getUnitTable().getLayoutColumn();
466     return new Field<Integer>((Integer)c.getRaw(this), c);
467   }
468 
469 
470  /**
471   * Retrieves the <code>Messageboard</code> value, without locking, 
472   * for this <code>Unit</code> <code>Persistent</code>.
473   *
474   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
475   * @return the Integer messageboard
476   */
477   public Integer getMessageboard_unsafe() {
478     return messageboard;
479   }
480 
481 
482  /**
483   * Sets the <code>Messageboard</code> value directly, without checking, 
484   * for this Unit <code>Persistent</code>.
485   * 
486   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
487   * @param cooked  the pre-validated value to set
488   */
489   public void setMessageboard_unsafe(Integer cooked) {
490     messageboard = cooked;
491   }
492 
493  /**
494   * Retrieves the Table Row Object ID. 
495   *
496   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
497   * @throws AccessPoemException  
498   *         if the current <code>AccessToken</code> 
499   *         does not confer read access rights 
500   * @return the TROID as an <code>Integer</code> 
501   */
502 
503   public Integer getMessageboardTroid()
504       throws AccessPoemException {
505     readLock();
506     return getMessageboard_unsafe();
507   }
508 
509 
510  /**
511   * Sets the Table Row Object ID. 
512   * 
513   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
514   * @param raw  a Table Row Object Id 
515   * @throws AccessPoemException  
516   *         if the current <code>AccessToken</code> 
517   *         does not confer write access rights
518   */
519   public void setMessageboardTroid(Integer raw)
520       throws AccessPoemException {
521     setMessageboard(raw == null ? null : 
522         (Board)getBibliomaniaDatabaseTables().getBoardTable().getBoardObject(raw));
523   }
524 
525 
526  /**
527   * Retrieves the <code>Messageboard</code> object referred to.
528   *  
529   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
530   * @throws AccessPoemException  
531   *         if the current <code>AccessToken</code> 
532   *         does not confer read access rights 
533   * @throws NoSuchRowPoemException  
534   *         if the <code>Persistent</code> has yet to be allocated a TROID 
535   * @return the <code>Messageboard</code> as a <code>Board</code> 
536   */
537   public Board getMessageboard()
538       throws AccessPoemException, NoSuchRowPoemException {
539     Integer troid = getMessageboardTroid();
540     return troid == null ? null :
541         (Board)getBibliomaniaDatabaseTables().getBoardTable().getBoardObject(troid);
542   }
543 
544 
545  /**
546   * Set the Messageboard.
547   * 
548   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
549   * @param cooked  a validated <code>Board</code>
550   * @throws AccessPoemException  
551   *         if the current <code>AccessToken</code> 
552   *         does not confer write access rights 
553   */
554   public void setMessageboard(Board cooked)
555       throws AccessPoemException {
556     _getUnitTable().
557       getMessageboardColumn().
558         getType().assertValidCooked(cooked);
559     writeLock();
560     if (cooked == null)
561       setMessageboard_unsafe(null);
562     else {
563       cooked.existenceLock();
564       setMessageboard_unsafe(cooked.troid());
565     }
566   }
567 
568 
569  /**
570   * Retrieves the <code>Messageboard</code> value as a <code>Field</code>
571   * from this <code>Unit</code> <code>Persistent</code>.
572   * 
573   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
574   * @throws AccessPoemException 
575   *         if the current <code>AccessToken</code> 
576   *         does not confer write access rights
577   * @return the Integer messageboard
578   */
579   public Field<Integer> getMessageboardField() throws AccessPoemException {
580     Column<Integer> c = _getUnitTable().getMessageboardColumn();
581     return new Field<Integer>((Integer)c.getRaw(this), c);
582   }
583 
584 }
585