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 org.melati.poem.AccessPoemException;
7   import org.melati.poem.Capability;
8   import org.melati.poem.Column;
9   import org.melati.poem.Field;
10  import org.melati.poem.NoSuchRowPoemException;
11  import org.melati.poem.ValidationPoemException;
12  import org.paneris.bibliomania.BibliomaniaDatabaseTables;
13  import org.paneris.bibliomania.Section;
14  import org.paneris.bibliomania.SectionGroup;
15  import org.paneris.bibliomania.SectionTable;
16  import org.paneris.bibliomania.Unit;
17  
18  
19  /**
20   * Melati POEM generated abstract base class for a <code>Persistent</code> 
21   * <code>Section</code> Object.
22   *
23   * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
24   */
25  public abstract class SectionBase extends Unit {
26  
27  
28   /**
29    * Retrieves the Database object.
30    * 
31    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
32    * @return the database
33    */
34    public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() {
35      return (BibliomaniaDatabaseTables)getDatabase();
36    }
37  
38  
39   /**
40    * Retrieves the  <code>SectionTable</code> table 
41    * which this <code>Persistent</code> is from.
42    * 
43    * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
44    * @return the SectionTable
45    */
46    @SuppressWarnings("unchecked")
47    public SectionTable<Section> getSectionTable() {
48      return (SectionTable<Section>)getTable();
49    }
50  
51    @SuppressWarnings("unchecked")
52    private SectionTable<Section> _getSectionTable() {
53      return (SectionTable<Section>)getTable();
54    }
55  
56    // Fields in this table 
57   /**
58    * id 
59    */
60    protected Integer id;
61   /**
62    * Display name - A human-readable name for the section 
63    */
64    protected String displayname;
65   /**
66    * group - The group in which the category belongs 
67    */
68    protected Integer group;
69   /**
70    * Default `Read content' capability - The capability required for reading 
71    * books in the section, unless overridden in the book itself 
72    */
73    protected Integer defaultcanreadcontent;
74  
75  
76   /**
77    * Retrieves the <code>Id</code> value, without locking, 
78    * for this <code>Section</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 Section <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>Section</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>Section</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>Section</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     _getSectionTable().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>Section</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>Section</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 = _getSectionTable().getIdColumn();
169     return new Field<Integer>((Integer)c.getRaw(this), c);
170   }
171 
172 
173  /**
174   * Retrieves the <code>Displayname</code> value, without locking, 
175   * for this <code>Section</code> <code>Persistent</code>.
176   *
177   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
178   * @return the String displayname
179   */
180   public String getDisplayname_unsafe() {
181     return displayname;
182   }
183 
184 
185  /**
186   * Sets the <code>Displayname</code> value directly, without checking, 
187   * for this Section <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 setDisplayname_unsafe(String cooked) {
193     displayname = cooked;
194   }
195 
196  /**
197   * Retrieves the Displayname value, with locking, for this 
198   * <code>Section</code> <code>Persistent</code>.
199   * Field description: 
200   *   A human-readable name for the section 
201   * 
202   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
203   * @throws AccessPoemException 
204   *         if the current <code>AccessToken</code> 
205   *         does not confer write access rights 
206   * @return the value of the field <code>Displayname</code> for this 
207   *         <code>Section</code> <code>Persistent</code>  
208   */
209 
210   public String getDisplayname()
211       throws AccessPoemException {
212     readLock();
213     return getDisplayname_unsafe();
214   }
215 
216 
217  /**
218   * Sets the <code>Displayname</code> value, with checking, for this 
219   * <code>Section</code> <code>Persistent</code>.
220   * Field description: 
221   *   A human-readable name for the section 
222   * 
223   * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
224   * @param cooked  a validated <code>int</code> 
225   * @throws AccessPoemException 
226   *         if the current <code>AccessToken</code> 
227   *         does not confer write access rights
228   * @throws ValidationPoemException 
229   *         if the value is not valid
230   */
231   public void setDisplayname(String cooked)
232       throws AccessPoemException, ValidationPoemException {
233     _getSectionTable().getDisplaynameColumn().
234       getType().assertValidCooked(cooked);
235     writeLock();
236     setDisplayname_unsafe(cooked);
237   }
238 
239 
240  /**
241   * Retrieves the <code>Displayname</code> value as a <code>Field</code>
242   * from this <code>Section</code> <code>Persistent</code>.
243   * 
244   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
245   * @throws AccessPoemException 
246   *         if the current <code>AccessToken</code> 
247   *         does not confer write access rights
248   * @return the String displayname
249   */
250   public Field<String> getDisplaynameField() throws AccessPoemException {
251     Column<String> c = _getSectionTable().getDisplaynameColumn();
252     return new Field<String>((String)c.getRaw(this), c);
253   }
254 
255 
256  /**
257   * Retrieves the <code>Group</code> value, without locking, 
258   * for this <code>Section</code> <code>Persistent</code>.
259   *
260   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
261   * @return the Integer group
262   */
263   public Integer getGroup_unsafe() {
264     return group;
265   }
266 
267 
268  /**
269   * Sets the <code>Group</code> value directly, without checking, 
270   * for this Section <code>Persistent</code>.
271   * 
272   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
273   * @param cooked  the pre-validated value to set
274   */
275   public void setGroup_unsafe(Integer cooked) {
276     group = cooked;
277   }
278 
279  /**
280   * Retrieves the Table Row Object ID. 
281   *
282   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
283   * @throws AccessPoemException  
284   *         if the current <code>AccessToken</code> 
285   *         does not confer read access rights 
286   * @return the TROID as an <code>Integer</code> 
287   */
288 
289   public Integer getGroupTroid()
290       throws AccessPoemException {
291     readLock();
292     return getGroup_unsafe();
293   }
294 
295 
296  /**
297   * Sets the Table Row Object ID. 
298   * 
299   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
300   * @param raw  a Table Row Object Id 
301   * @throws AccessPoemException  
302   *         if the current <code>AccessToken</code> 
303   *         does not confer write access rights
304   */
305   public void setGroupTroid(Integer raw)
306       throws AccessPoemException {
307     setGroup(raw == null ? null : 
308         (SectionGroup)getBibliomaniaDatabaseTables().getSectionGroupTable().getSectionGroupObject(raw));
309   }
310 
311 
312  /**
313   * Retrieves the <code>Group</code> object referred to.
314   *  
315   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
316   * @throws AccessPoemException  
317   *         if the current <code>AccessToken</code> 
318   *         does not confer read access rights 
319   * @throws NoSuchRowPoemException  
320   *         if the <code>Persistent</code> has yet to be allocated a TROID 
321   * @return the <code>Group</code> as a <code>SectionGroup</code> 
322   */
323   public SectionGroup getGroup()
324       throws AccessPoemException, NoSuchRowPoemException {
325     Integer troid = getGroupTroid();
326     return troid == null ? null :
327         (SectionGroup)getBibliomaniaDatabaseTables().getSectionGroupTable().getSectionGroupObject(troid);
328   }
329 
330 
331  /**
332   * Set the Group.
333   * 
334   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
335   * @param cooked  a validated <code>SectionGroup</code>
336   * @throws AccessPoemException  
337   *         if the current <code>AccessToken</code> 
338   *         does not confer write access rights 
339   */
340   public void setGroup(SectionGroup cooked)
341       throws AccessPoemException {
342     _getSectionTable().
343       getGroupColumn().
344         getType().assertValidCooked(cooked);
345     writeLock();
346     if (cooked == null)
347       setGroup_unsafe(null);
348     else {
349       cooked.existenceLock();
350       setGroup_unsafe(cooked.troid());
351     }
352   }
353 
354 
355  /**
356   * Retrieves the <code>Group</code> value as a <code>Field</code>
357   * from this <code>Section</code> <code>Persistent</code>.
358   * 
359   * see org.melati.poem.prepro.FieldDef#generateFieldCreator 
360   * @throws AccessPoemException 
361   *         if the current <code>AccessToken</code> 
362   *         does not confer write access rights
363   * @return the Integer group
364   */
365   public Field<Integer> getGroupField() throws AccessPoemException {
366     Column<Integer> c = _getSectionTable().getGroupColumn();
367     return new Field<Integer>((Integer)c.getRaw(this), c);
368   }
369 
370 
371  /**
372   * Retrieves the <code>Defaultcanreadcontent</code> value, without locking, 
373   * for this <code>Section</code> <code>Persistent</code>.
374   *
375   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
376   * @return the Integer defaultcanreadcontent
377   */
378   public Integer getDefaultcanreadcontent_unsafe() {
379     return defaultcanreadcontent;
380   }
381 
382 
383  /**
384   * Sets the <code>Defaultcanreadcontent</code> value directly, without checking, 
385   * for this Section <code>Persistent</code>.
386   * 
387   * see org.melati.poem.prepro.FieldDef#generateBaseMethods 
388   * @param cooked  the pre-validated value to set
389   */
390   public void setDefaultcanreadcontent_unsafe(Integer cooked) {
391     defaultcanreadcontent = cooked;
392   }
393 
394  /**
395   * Retrieves the Table Row Object ID. 
396   *
397   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
398   * @throws AccessPoemException  
399   *         if the current <code>AccessToken</code> 
400   *         does not confer read access rights 
401   * @return the TROID as an <code>Integer</code> 
402   */
403 
404   public Integer getDefaultcanreadcontentTroid()
405       throws AccessPoemException {
406     readLock();
407     return getDefaultcanreadcontent_unsafe();
408   }
409 
410 
411  /**
412   * Sets the Table Row Object ID. 
413   * 
414   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
415   * @param raw  a Table Row Object Id 
416   * @throws AccessPoemException  
417   *         if the current <code>AccessToken</code> 
418   *         does not confer write access rights
419   */
420   public void setDefaultcanreadcontentTroid(Integer raw)
421       throws AccessPoemException {
422     setDefaultcanreadcontent(raw == null ? null : 
423         getBibliomaniaDatabaseTables().getCapabilityTable().getCapabilityObject(raw));
424   }
425 
426 
427  /**
428   * Retrieves the <code>Defaultcanreadcontent</code> object referred to.
429   *  
430   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
431   * @throws AccessPoemException  
432   *         if the current <code>AccessToken</code> 
433   *         does not confer read access rights 
434   * @throws NoSuchRowPoemException  
435   *         if the <code>Persistent</code> has yet to be allocated a TROID 
436   * @return the <code>Defaultcanreadcontent</code> as a <code>Capability</code> 
437   */
438   public Capability getDefaultcanreadcontent()
439       throws AccessPoemException, NoSuchRowPoemException {
440     Integer troid = getDefaultcanreadcontentTroid();
441     return troid == null ? null :
442         getBibliomaniaDatabaseTables().getCapabilityTable().getCapabilityObject(troid);
443   }
444 
445 
446  /**
447   * Set the Defaultcanreadcontent.
448   * 
449   * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
450   * @param cooked  a validated <code>Capability</code>
451   * @throws AccessPoemException  
452   *         if the current <code>AccessToken</code> 
453   *         does not confer write access rights 
454   */
455   public void setDefaultcanreadcontent(Capability cooked)
456       throws AccessPoemException {
457     _getSectionTable().
458       getDefaultcanreadcontentColumn().
459         getType().assertValidCooked(cooked);
460     writeLock();
461     if (cooked == null)
462       setDefaultcanreadcontent_unsafe(null);
463     else {
464       cooked.existenceLock();
465       setDefaultcanreadcontent_unsafe(cooked.troid());
466     }
467   }
468 
469 
470  /**
471   * Retrieves the <code>Defaultcanreadcontent</code> value as a <code>Field</code>
472   * from this <code>Section</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 Integer defaultcanreadcontent
479   */
480   public Field<Integer> getDefaultcanreadcontentField() throws AccessPoemException {
481     Column<Integer> c = _getSectionTable().getDefaultcanreadcontentColumn();
482     return new Field<Integer>((Integer)c.getRaw(this), c);
483   }
484 
485 }
486