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.Download;
15  import org.paneris.bibliomania.DownloadEvent;
16  import org.paneris.bibliomania.DownloadEventTable;
17  import org.paneris.bibliomania.User;
18  
19  
20  /**
21   * Melati POEM generated abstract base class for a <code>Persistent</code> 
22   * <code>DownloadEvent</code> Object.
23   *
24   * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
25   */
26  public abstract class DownloadEventBase 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>DownloadEventTable</code> table 
42    * which this <code>Persistent</code> is from.
43    * 
44    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
45    * @return the DownloadEventTable
46    */
47    @SuppressWarnings("unchecked")
48    public DownloadEventTable<DownloadEvent> getDownloadEventTable() {
49      return (DownloadEventTable<DownloadEvent>)getTable();
50    }
51  
52    @SuppressWarnings("unchecked")
53    private DownloadEventTable<DownloadEvent> _getDownloadEventTable() {
54      return (DownloadEventTable<DownloadEvent>)getTable();
55    }
56  
57    // Fields in this table 
58   /**
59    * id 
60    */
61    protected Integer id;
62   /**
63    * User 
64    */
65    protected Integer user;
66   /**
67    * Download - The name of the file downloaded 
68    */
69    protected Integer document;
70   /**
71    * Date - The date and time the file was downloaded 
72    */
73    protected Timestamp date;
74  
75  
76   /**
77    * Retrieves the <code>Id</code> value, without locking, 
78    * for this <code>DownloadEvent</code> <code>Persistent</code>.
79    *
80    * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
81    * @return the Integer id
82    */
83    public Integer getId_unsafe() {
84      return id;
85    }
86  
87  
88   /**
89    * Sets the <code>Id</code> value directly, without checking, 
90    * for this DownloadEvent <code>Persistent</code>.
91    * 
92    * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
93    * @param cooked  the pre-validated value to set
94    */
95    public void setId_unsafe(Integer cooked) {
96      id = cooked;
97    }
98  
99   /**
100   * Retrieves the Id value, with locking, for this 
101   * <code>DownloadEvent</code> <code>Persistent</code>.
102   * 
103   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
104   * @throws AccessPoemException 
105   *         if the current <code>AccessToken</code> 
106   *         does not confer write access rights 
107   * @return the value of the field <code>Id</code> for this 
108   *         <code>DownloadEvent</code> <code>Persistent</code>  
109   */
110 
111   public Integer getId()
112       throws AccessPoemException {
113     readLock();
114     return getId_unsafe();
115   }
116 
117 
118  /**
119   * Sets the <code>Id</code> value, with checking, for this 
120   * <code>DownloadEvent</code> <code>Persistent</code>.
121   * 
122   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
123   * @param cooked  a validated <code>int</code> 
124   * @throws AccessPoemException 
125   *         if the current <code>AccessToken</code> 
126   *         does not confer write access rights
127   * @throws ValidationPoemException 
128   *         if the value is not valid
129   */
130   public void setId(Integer cooked)
131       throws AccessPoemException, ValidationPoemException {
132     _getDownloadEventTable().getIdColumn().
133       getType().assertValidCooked(cooked);
134     writeLock();
135     setId_unsafe(cooked);
136   }
137 
138  /**
139   * Sets the <code>Id</code> value, with checking, for this 
140   * <code>DownloadEvent</code> <code>Persistent</code>.
141   * 
142   * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 
143   * @param cooked  a validated <code>int</code>
144   * @throws AccessPoemException 
145   *         if the current <code>AccessToken</code> 
146   *         does not confer write access rights
147   * @throws ValidationPoemException 
148   *         if the value is not valid
149   */
150 
151   public final void setId(int cooked)
152       throws AccessPoemException, ValidationPoemException {
153     setId(new Integer(cooked));
154   }
155 
156 
157  /**
158   * Retrieves the <code>Id</code> value as a <code>Field</code>
159   * from this <code>DownloadEvent</code> <code>Persistent</code>.
160   * 
161   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
162   * @throws AccessPoemException 
163   *         if the current <code>AccessToken</code> 
164   *         does not confer write access rights
165   * @return the Integer id
166   */
167   public Field<Integer> getIdField() throws AccessPoemException {
168     Column<Integer> c = _getDownloadEventTable().getIdColumn();
169     return new Field<Integer>((Integer)c.getRaw(this), c);
170   }
171 
172 
173  /**
174   * Retrieves the <code>User</code> value, without locking, 
175   * for this <code>DownloadEvent</code> <code>Persistent</code>.
176   *
177   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
178   * @return the Integer user
179   */
180   public Integer getUser_unsafe() {
181     return user;
182   }
183 
184 
185  /**
186   * Sets the <code>User</code> value directly, without checking, 
187   * for this DownloadEvent <code>Persistent</code>.
188   * 
189   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
190   * @param cooked  the pre-validated value to set
191   */
192   public void setUser_unsafe(Integer cooked) {
193     user = cooked;
194   }
195 
196  /**
197   * Retrieves the Table Row Object ID. 
198   *
199   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
200   * @throws AccessPoemException  
201   *         if the current <code>AccessToken</code> 
202   *         does not confer read access rights 
203   * @return the TROID as an <code>Integer</code> 
204   */
205 
206   public Integer getUserTroid()
207       throws AccessPoemException {
208     readLock();
209     return getUser_unsafe();
210   }
211 
212 
213  /**
214   * Sets the Table Row Object ID. 
215   * 
216   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
217   * @param raw  a Table Row Object Id 
218   * @throws AccessPoemException  
219   *         if the current <code>AccessToken</code> 
220   *         does not confer write access rights
221   */
222   public void setUserTroid(Integer raw)
223       throws AccessPoemException {
224     setUser(raw == null ? null : 
225         (User)getBibliomaniaDatabaseTables().getUserTable().getUserObject(raw));
226   }
227 
228 
229  /**
230   * Retrieves the <code>User</code> object referred to.
231   *  
232   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
233   * @throws AccessPoemException  
234   *         if the current <code>AccessToken</code> 
235   *         does not confer read access rights 
236   * @throws NoSuchRowPoemException  
237   *         if the <code>Persistent</code> has yet to be allocated a TROID 
238   * @return the <code>User</code> as a <code>User</code> 
239   */
240   public User getUser()
241       throws AccessPoemException, NoSuchRowPoemException {
242     Integer troid = getUserTroid();
243     return troid == null ? null :
244         (User)getBibliomaniaDatabaseTables().getUserTable().getUserObject(troid);
245   }
246 
247 
248  /**
249   * Set the User.
250   * 
251   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
252   * @param cooked  a validated <code>User</code>
253   * @throws AccessPoemException  
254   *         if the current <code>AccessToken</code> 
255   *         does not confer write access rights 
256   */
257   public void setUser(User cooked)
258       throws AccessPoemException {
259     _getDownloadEventTable().
260       getUserColumn().
261         getType().assertValidCooked(cooked);
262     writeLock();
263     if (cooked == null)
264       setUser_unsafe(null);
265     else {
266       cooked.existenceLock();
267       setUser_unsafe(cooked.troid());
268     }
269   }
270 
271 
272  /**
273   * Retrieves the <code>User</code> value as a <code>Field</code>
274   * from this <code>DownloadEvent</code> <code>Persistent</code>.
275   * 
276   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
277   * @throws AccessPoemException 
278   *         if the current <code>AccessToken</code> 
279   *         does not confer write access rights
280   * @return the Integer user
281   */
282   public Field<Integer> getUserField() throws AccessPoemException {
283     Column<Integer> c = _getDownloadEventTable().getUserColumn();
284     return new Field<Integer>((Integer)c.getRaw(this), c);
285   }
286 
287 
288  /**
289   * Retrieves the <code>Document</code> value, without locking, 
290   * for this <code>DownloadEvent</code> <code>Persistent</code>.
291   *
292   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
293   * @return the Integer document
294   */
295   public Integer getDocument_unsafe() {
296     return document;
297   }
298 
299 
300  /**
301   * Sets the <code>Document</code> value directly, without checking, 
302   * for this DownloadEvent <code>Persistent</code>.
303   * 
304   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
305   * @param cooked  the pre-validated value to set
306   */
307   public void setDocument_unsafe(Integer cooked) {
308     document = cooked;
309   }
310 
311  /**
312   * Retrieves the Table Row Object ID. 
313   *
314   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
315   * @throws AccessPoemException  
316   *         if the current <code>AccessToken</code> 
317   *         does not confer read access rights 
318   * @return the TROID as an <code>Integer</code> 
319   */
320 
321   public Integer getDocumentTroid()
322       throws AccessPoemException {
323     readLock();
324     return getDocument_unsafe();
325   }
326 
327 
328  /**
329   * Sets the Table Row Object ID. 
330   * 
331   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
332   * @param raw  a Table Row Object Id 
333   * @throws AccessPoemException  
334   *         if the current <code>AccessToken</code> 
335   *         does not confer write access rights
336   */
337   public void setDocumentTroid(Integer raw)
338       throws AccessPoemException {
339     setDocument(raw == null ? null : 
340         getBibliomaniaDatabaseTables().getDownloadTable().getDownloadObject(raw));
341   }
342 
343 
344  /**
345   * Retrieves the <code>Document</code> object referred to.
346   *  
347   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
348   * @throws AccessPoemException  
349   *         if the current <code>AccessToken</code> 
350   *         does not confer read access rights 
351   * @throws NoSuchRowPoemException  
352   *         if the <code>Persistent</code> has yet to be allocated a TROID 
353   * @return the <code>Document</code> as a <code>Download</code> 
354   */
355   public Download getDocument()
356       throws AccessPoemException, NoSuchRowPoemException {
357     Integer troid = getDocumentTroid();
358     return troid == null ? null :
359         getBibliomaniaDatabaseTables().getDownloadTable().getDownloadObject(troid);
360   }
361 
362 
363  /**
364   * Set the Document.
365   * 
366   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
367   * @param cooked  a validated <code>Download</code>
368   * @throws AccessPoemException  
369   *         if the current <code>AccessToken</code> 
370   *         does not confer write access rights 
371   */
372   public void setDocument(Download cooked)
373       throws AccessPoemException {
374     _getDownloadEventTable().
375       getDocumentColumn().
376         getType().assertValidCooked(cooked);
377     writeLock();
378     if (cooked == null)
379       setDocument_unsafe(null);
380     else {
381       cooked.existenceLock();
382       setDocument_unsafe(cooked.troid());
383     }
384   }
385 
386 
387  /**
388   * Retrieves the <code>Document</code> value as a <code>Field</code>
389   * from this <code>DownloadEvent</code> <code>Persistent</code>.
390   * 
391   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
392   * @throws AccessPoemException 
393   *         if the current <code>AccessToken</code> 
394   *         does not confer write access rights
395   * @return the Integer document
396   */
397   public Field<Integer> getDocumentField() throws AccessPoemException {
398     Column<Integer> c = _getDownloadEventTable().getDocumentColumn();
399     return new Field<Integer>((Integer)c.getRaw(this), c);
400   }
401 
402 
403  /**
404   * Retrieves the <code>Date</code> value, without locking, 
405   * for this <code>DownloadEvent</code> <code>Persistent</code>.
406   *
407   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
408   * @return the Timestamp date
409   */
410   public Timestamp getDate_unsafe() {
411     return date;
412   }
413 
414 
415  /**
416   * Sets the <code>Date</code> value directly, without checking, 
417   * for this DownloadEvent <code>Persistent</code>.
418   * 
419   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
420   * @param cooked  the pre-validated value to set
421   */
422   public void setDate_unsafe(Timestamp cooked) {
423     date = cooked;
424   }
425 
426  /**
427   * Retrieves the Date value, with locking, for this 
428   * <code>DownloadEvent</code> <code>Persistent</code>.
429   * Field description: 
430   *   The date and time the file was downloaded 
431   * 
432   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
433   * @throws AccessPoemException 
434   *         if the current <code>AccessToken</code> 
435   *         does not confer write access rights 
436   * @return the value of the field <code>Date</code> for this 
437   *         <code>DownloadEvent</code> <code>Persistent</code>  
438   */
439 
440   public Timestamp getDate()
441       throws AccessPoemException {
442     readLock();
443     return getDate_unsafe();
444   }
445 
446 
447  /**
448   * Sets the <code>Date</code> value, with checking, for this 
449   * <code>DownloadEvent</code> <code>Persistent</code>.
450   * Field description: 
451   *   The date and time the file was downloaded 
452   * 
453   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
454   * @param cooked  a validated <code>int</code> 
455   * @throws AccessPoemException 
456   *         if the current <code>AccessToken</code> 
457   *         does not confer write access rights
458   * @throws ValidationPoemException 
459   *         if the value is not valid
460   */
461   public void setDate(Timestamp cooked)
462       throws AccessPoemException, ValidationPoemException {
463     _getDownloadEventTable().getDateColumn().
464       getType().assertValidCooked(cooked);
465     writeLock();
466     setDate_unsafe(cooked);
467   }
468 
469 
470  /**
471   * Retrieves the <code>Date</code> value as a <code>Field</code>
472   * from this <code>DownloadEvent</code> <code>Persistent</code>.
473   * 
474   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
475   * @throws AccessPoemException 
476   *         if the current <code>AccessToken</code> 
477   *         does not confer write access rights
478   * @return the Timestamp date
479   */
480   public Field<Timestamp> getDateField() throws AccessPoemException {
481     Column<Timestamp> c = _getDownloadEventTable().getDateColumn();
482     return new Field<Timestamp>((Timestamp)c.getRaw(this), c);
483   }
484 
485 }
486