View Javadoc

1   // Do not edit this file!  It was generated by Melati POEM's DSD preprocessor.
2   
3   package org.paneris.melati.site.model.generated;
4   
5   
6   import org.melati.poem.AccessPoemException;
7   import org.melati.poem.Column;
8   import org.melati.poem.Field;
9   import org.melati.poem.JdbcPersistent;
10  import org.melati.poem.NoSuchRowPoemException;
11  import org.melati.poem.ValidationPoemException;
12  import org.paneris.melati.site.model.LinkTable;
13  import org.paneris.melati.site.model.LinkType;
14  import org.paneris.melati.site.model.Page;
15  import org.paneris.melati.site.model.SiteDatabaseTables;
16  
17  
18  /**
19   * Melati POEM generated abstract base class for a <code>Persistent</code> 
20   * <code>Link</code> Object.
21   *
22   * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
23   */
24  public abstract class LinkBase extends JdbcPersistent {
25  
26  
27   /**
28    * Retrieves the Database object.
29    * 
30    * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
31    * @return the database
32    */
33    public SiteDatabaseTables getSiteDatabaseTables() {
34      return (SiteDatabaseTables)getDatabase();
35    }
36  
37  
38   /**
39    * Retrieves the  <code>LinkTable</code> table 
40    * which this <code>Persistent</code> is from.
41    * 
42    * @see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 
43    * @return the LinkTable
44    */
45    public LinkTable getLinkTable() {
46      return (LinkTable)getTable();
47    }
48  
49    private LinkTable _getLinkTable() {
50      return (LinkTable)getTable();
51    }
52  
53    // Fields in this table 
54   /**
55    * id 
56    */
57    protected Integer id;
58   /**
59    * page - The page to which the link is relevant 
60    */
61    protected Integer page;
62   /**
63    * type - The type of this link 
64    */
65    protected Integer type;
66   /**
67    * URL - The full URL for the site's front page 
68    */
69    protected String url;
70   /**
71    * Display name - The site's name 
72    */
73    protected String displayname;
74   /**
75    * displayorder 
76    */
77    protected Integer displayorder;
78  
79  
80   /**
81    * Retrieves the <code>Id</code> value, without locking, 
82    * for this <code>Link</code> <code>Persistent</code>.
83    *
84    * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
85    * @return the Integer id
86    */
87    public Integer getId_unsafe() {
88      return id;
89    }
90  
91  
92   /**
93    * Sets the <code>Id</code> value directly, without checking, 
94    * for this Link <code>Persistent</code>.
95    * 
96    * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
97    * @param cooked  the pre-validated value to set
98    */
99    public void setId_unsafe(Integer cooked) {
100     id = cooked;
101   }
102 
103  /**
104   * Retrieves the Id value, with locking, for this 
105   * <code>Link</code> <code>Persistent</code>.
106   * 
107   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
108   * @throws AccessPoemException 
109   *         if the current <code>AccessToken</code> 
110   *         does not confer write access rights 
111   * @return the value of the field <code>Id</code> for this 
112   *         <code>Link</code> <code>Persistent</code>  
113   */
114 
115   public Integer getId()
116       throws AccessPoemException {
117     readLock();
118     return getId_unsafe();
119   }
120 
121 
122  /**
123   * Sets the <code>Id</code> value, with checking, for this 
124   * <code>Link</code> <code>Persistent</code>.
125   * 
126   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
127   * @param cooked  a validated <code>int</code> 
128   * @throws AccessPoemException 
129   *         if the current <code>AccessToken</code> 
130   *         does not confer write access rights
131   * @throws ValidationPoemException 
132   *         if the value is not valid
133   */
134   public void setId(Integer cooked)
135       throws AccessPoemException, ValidationPoemException {
136     _getLinkTable().getIdColumn().
137       getType().assertValidCooked(cooked);
138     writeLock();
139     setId_unsafe(cooked);
140   }
141 
142  /**
143   * Sets the <code>Id</code> value, with checking, for this 
144   * <code>Link</code> <code>Persistent</code>.
145   * 
146   * @generator org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 
147   * @param cooked  a validated <code>int</code>
148   * @throws AccessPoemException 
149   *         if the current <code>AccessToken</code> 
150   *         does not confer write access rights
151   * @throws ValidationPoemException 
152   *         if the value is not valid
153   */
154 
155   public final void setId(int cooked)
156       throws AccessPoemException, ValidationPoemException {
157     setId(new Integer(cooked));
158   }
159 
160 
161  /**
162   * Retrieves the <code>Id</code> value as a <code>Field</code>
163   * from this <code>Link</code> <code>Persistent</code>.
164   * 
165   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
166   * @throws AccessPoemException 
167   *         if the current <code>AccessToken</code> 
168   *         does not confer write access rights
169   * @return the Integer id
170   */
171   public Field getIdField() throws AccessPoemException {
172     Column c = _getLinkTable().getIdColumn();
173     return new Field(c.getRaw(this), c);
174   }
175 
176 
177  /**
178   * Retrieves the <code>Page</code> value, without locking, 
179   * for this <code>Link</code> <code>Persistent</code>.
180   *
181   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
182   * @return the Integer page
183   */
184   public Integer getPage_unsafe() {
185     return page;
186   }
187 
188 
189  /**
190   * Sets the <code>Page</code> value directly, without checking, 
191   * for this Link <code>Persistent</code>.
192   * 
193   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
194   * @param cooked  the pre-validated value to set
195   */
196   public void setPage_unsafe(Integer cooked) {
197     page = cooked;
198   }
199 
200  /**
201   * Retrieves the Table Row Object ID. 
202   *
203   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
204   * @throws AccessPoemException  
205   *         if the current <code>AccessToken</code> 
206   *         does not confer read access rights 
207   * @return the TROID as an <code>Integer</code> 
208   */
209 
210   public Integer getPageTroid()
211       throws AccessPoemException {
212     readLock();
213     return getPage_unsafe();
214   }
215 
216 
217  /**
218   * Sets the Table Row Object ID. 
219   * 
220   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
221   * @param raw  a Table Row Object Id 
222   * @throws AccessPoemException  
223   *         if the current <code>AccessToken</code> 
224   *         does not confer write access rights
225   */
226   public void setPageTroid(Integer raw)
227       throws AccessPoemException {
228     setPage(raw == null ? null : 
229         getSiteDatabaseTables().getPageTable().getPageObject(raw));
230   }
231 
232 
233  /**
234   * Retrieves the <code>Page</code> object referred to.
235   *  
236   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
237   * @throws AccessPoemException  
238   *         if the current <code>AccessToken</code> 
239   *         does not confer read access rights 
240   * @throws NoSuchRowPoemException  
241   *         if the <code>Persistent</code> has yet to be allocated a TROID 
242   * @return the <code>Page</code> as a <code>Page</code> 
243   */
244   public Page getPage()
245       throws AccessPoemException, NoSuchRowPoemException {
246     Integer troid = getPageTroid();
247     return troid == null ? null :
248         getSiteDatabaseTables().getPageTable().getPageObject(troid);
249   }
250 
251 
252  /**
253   * Set the Page.
254   * 
255   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
256   * @param cooked  a validated <code>Page</code>
257   * @throws AccessPoemException  
258   *         if the current <code>AccessToken</code> 
259   *         does not confer write access rights 
260   */
261   public void setPage(Page cooked)
262       throws AccessPoemException {
263     _getLinkTable().
264       getPageColumn().
265         getType().assertValidCooked(cooked);
266     writeLock();
267     if (cooked == null)
268       setPage_unsafe(null);
269     else {
270       cooked.existenceLock();
271       setPage_unsafe(cooked.troid());
272     }
273   }
274 
275 
276  /**
277   * Retrieves the <code>Page</code> value as a <code>Field</code>
278   * from this <code>Link</code> <code>Persistent</code>.
279   * 
280   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
281   * @throws AccessPoemException 
282   *         if the current <code>AccessToken</code> 
283   *         does not confer write access rights
284   * @return the Integer page
285   */
286   public Field getPageField() throws AccessPoemException {
287     Column c = _getLinkTable().getPageColumn();
288     return new Field(c.getRaw(this), c);
289   }
290 
291 
292  /**
293   * Retrieves the <code>Type</code> value, without locking, 
294   * for this <code>Link</code> <code>Persistent</code>.
295   *
296   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
297   * @return the Integer type
298   */
299   public Integer getType_unsafe() {
300     return type;
301   }
302 
303 
304  /**
305   * Sets the <code>Type</code> value directly, without checking, 
306   * for this Link <code>Persistent</code>.
307   * 
308   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
309   * @param cooked  the pre-validated value to set
310   */
311   public void setType_unsafe(Integer cooked) {
312     type = cooked;
313   }
314 
315  /**
316   * Retrieves the Table Row Object ID. 
317   *
318   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
319   * @throws AccessPoemException  
320   *         if the current <code>AccessToken</code> 
321   *         does not confer read access rights 
322   * @return the TROID as an <code>Integer</code> 
323   */
324 
325   public Integer getTypeTroid()
326       throws AccessPoemException {
327     readLock();
328     return getType_unsafe();
329   }
330 
331 
332  /**
333   * Sets the Table Row Object ID. 
334   * 
335   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
336   * @param raw  a Table Row Object Id 
337   * @throws AccessPoemException  
338   *         if the current <code>AccessToken</code> 
339   *         does not confer write access rights
340   */
341   public void setTypeTroid(Integer raw)
342       throws AccessPoemException {
343     setType(raw == null ? null : 
344         getSiteDatabaseTables().getLinkTypeTable().getLinkTypeObject(raw));
345   }
346 
347 
348  /**
349   * Retrieves the <code>Type</code> object referred to.
350   *  
351   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
352   * @throws AccessPoemException  
353   *         if the current <code>AccessToken</code> 
354   *         does not confer read access rights 
355   * @throws NoSuchRowPoemException  
356   *         if the <code>Persistent</code> has yet to be allocated a TROID 
357   * @return the <code>Type</code> as a <code>LinkType</code> 
358   */
359   public LinkType getType()
360       throws AccessPoemException, NoSuchRowPoemException {
361     Integer troid = getTypeTroid();
362     return troid == null ? null :
363         getSiteDatabaseTables().getLinkTypeTable().getLinkTypeObject(troid);
364   }
365 
366 
367  /**
368   * Set the Type.
369   * 
370   * @generator org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 
371   * @param cooked  a validated <code>LinkType</code>
372   * @throws AccessPoemException  
373   *         if the current <code>AccessToken</code> 
374   *         does not confer write access rights 
375   */
376   public void setType(LinkType cooked)
377       throws AccessPoemException {
378     _getLinkTable().
379       getTypeColumn().
380         getType().assertValidCooked(cooked);
381     writeLock();
382     if (cooked == null)
383       setType_unsafe(null);
384     else {
385       cooked.existenceLock();
386       setType_unsafe(cooked.troid());
387     }
388   }
389 
390 
391  /**
392   * Retrieves the <code>Type</code> value as a <code>Field</code>
393   * from this <code>Link</code> <code>Persistent</code>.
394   * 
395   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
396   * @throws AccessPoemException 
397   *         if the current <code>AccessToken</code> 
398   *         does not confer write access rights
399   * @return the Integer type
400   */
401   public Field getTypeField() throws AccessPoemException {
402     Column c = _getLinkTable().getTypeColumn();
403     return new Field(c.getRaw(this), c);
404   }
405 
406 
407  /**
408   * Retrieves the <code>Url</code> value, without locking, 
409   * for this <code>Link</code> <code>Persistent</code>.
410   *
411   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
412   * @return the String url
413   */
414   public String getUrl_unsafe() {
415     return url;
416   }
417 
418 
419  /**
420   * Sets the <code>Url</code> value directly, without checking, 
421   * for this Link <code>Persistent</code>.
422   * 
423   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
424   * @param cooked  the pre-validated value to set
425   */
426   public void setUrl_unsafe(String cooked) {
427     url = cooked;
428   }
429 
430  /**
431   * Retrieves the Url value, with locking, for this 
432   * <code>Link</code> <code>Persistent</code>.
433   * Field description: 
434   *   The full URL for the site's front page 
435   * 
436   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
437   * @throws AccessPoemException 
438   *         if the current <code>AccessToken</code> 
439   *         does not confer write access rights 
440   * @return the value of the field <code>Url</code> for this 
441   *         <code>Link</code> <code>Persistent</code>  
442   */
443 
444   public String getUrl()
445       throws AccessPoemException {
446     readLock();
447     return getUrl_unsafe();
448   }
449 
450 
451  /**
452   * Sets the <code>Url</code> value, with checking, for this 
453   * <code>Link</code> <code>Persistent</code>.
454   * Field description: 
455   *   The full URL for the site's front page 
456   * 
457   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
458   * @param cooked  a validated <code>int</code> 
459   * @throws AccessPoemException 
460   *         if the current <code>AccessToken</code> 
461   *         does not confer write access rights
462   * @throws ValidationPoemException 
463   *         if the value is not valid
464   */
465   public void setUrl(String cooked)
466       throws AccessPoemException, ValidationPoemException {
467     _getLinkTable().getUrlColumn().
468       getType().assertValidCooked(cooked);
469     writeLock();
470     setUrl_unsafe(cooked);
471   }
472 
473 
474  /**
475   * Retrieves the <code>Url</code> value as a <code>Field</code>
476   * from this <code>Link</code> <code>Persistent</code>.
477   * 
478   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
479   * @throws AccessPoemException 
480   *         if the current <code>AccessToken</code> 
481   *         does not confer write access rights
482   * @return the String url
483   */
484   public Field getUrlField() throws AccessPoemException {
485     Column c = _getLinkTable().getUrlColumn();
486     return new Field(c.getRaw(this), c);
487   }
488 
489 
490  /**
491   * Retrieves the <code>Displayname</code> value, without locking, 
492   * for this <code>Link</code> <code>Persistent</code>.
493   *
494   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
495   * @return the String displayname
496   */
497   public String getDisplayname_unsafe() {
498     return displayname;
499   }
500 
501 
502  /**
503   * Sets the <code>Displayname</code> value directly, without checking, 
504   * for this Link <code>Persistent</code>.
505   * 
506   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
507   * @param cooked  the pre-validated value to set
508   */
509   public void setDisplayname_unsafe(String cooked) {
510     displayname = cooked;
511   }
512 
513  /**
514   * Retrieves the Displayname value, with locking, for this 
515   * <code>Link</code> <code>Persistent</code>.
516   * Field description: 
517   *   The site's name 
518   * 
519   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
520   * @throws AccessPoemException 
521   *         if the current <code>AccessToken</code> 
522   *         does not confer write access rights 
523   * @return the value of the field <code>Displayname</code> for this 
524   *         <code>Link</code> <code>Persistent</code>  
525   */
526 
527   public String getDisplayname()
528       throws AccessPoemException {
529     readLock();
530     return getDisplayname_unsafe();
531   }
532 
533 
534  /**
535   * Sets the <code>Displayname</code> value, with checking, for this 
536   * <code>Link</code> <code>Persistent</code>.
537   * Field description: 
538   *   The site's name 
539   * 
540   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
541   * @param cooked  a validated <code>int</code> 
542   * @throws AccessPoemException 
543   *         if the current <code>AccessToken</code> 
544   *         does not confer write access rights
545   * @throws ValidationPoemException 
546   *         if the value is not valid
547   */
548   public void setDisplayname(String cooked)
549       throws AccessPoemException, ValidationPoemException {
550     _getLinkTable().getDisplaynameColumn().
551       getType().assertValidCooked(cooked);
552     writeLock();
553     setDisplayname_unsafe(cooked);
554   }
555 
556 
557  /**
558   * Retrieves the <code>Displayname</code> value as a <code>Field</code>
559   * from this <code>Link</code> <code>Persistent</code>.
560   * 
561   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
562   * @throws AccessPoemException 
563   *         if the current <code>AccessToken</code> 
564   *         does not confer write access rights
565   * @return the String displayname
566   */
567   public Field getDisplaynameField() throws AccessPoemException {
568     Column c = _getLinkTable().getDisplaynameColumn();
569     return new Field(c.getRaw(this), c);
570   }
571 
572 
573  /**
574   * Retrieves the <code>Displayorder</code> value, without locking, 
575   * for this <code>Link</code> <code>Persistent</code>.
576   *
577   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
578   * @return the Integer displayorder
579   */
580   public Integer getDisplayorder_unsafe() {
581     return displayorder;
582   }
583 
584 
585  /**
586   * Sets the <code>Displayorder</code> value directly, without checking, 
587   * for this Link <code>Persistent</code>.
588   * 
589   * @see org.melati.poem.prepro.FieldDef#generateBaseMethods 
590   * @param cooked  the pre-validated value to set
591   */
592   public void setDisplayorder_unsafe(Integer cooked) {
593     displayorder = cooked;
594   }
595 
596  /**
597   * Retrieves the Displayorder value, with locking, for this 
598   * <code>Link</code> <code>Persistent</code>.
599   * 
600   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 
601   * @throws AccessPoemException 
602   *         if the current <code>AccessToken</code> 
603   *         does not confer write access rights 
604   * @return the value of the field <code>Displayorder</code> for this 
605   *         <code>Link</code> <code>Persistent</code>  
606   */
607 
608   public Integer getDisplayorder()
609       throws AccessPoemException {
610     readLock();
611     return getDisplayorder_unsafe();
612   }
613 
614 
615  /**
616   * Sets the <code>Displayorder</code> value, with checking, for this 
617   * <code>Link</code> <code>Persistent</code>.
618   * 
619   * @generator org.melati.poem.prepro.AtomFieldDef#generateBaseMethods  
620   * @param cooked  a validated <code>int</code> 
621   * @throws AccessPoemException 
622   *         if the current <code>AccessToken</code> 
623   *         does not confer write access rights
624   * @throws ValidationPoemException 
625   *         if the value is not valid
626   */
627   public void setDisplayorder(Integer cooked)
628       throws AccessPoemException, ValidationPoemException {
629     _getLinkTable().getDisplayorderColumn().
630       getType().assertValidCooked(cooked);
631     writeLock();
632     setDisplayorder_unsafe(cooked);
633   }
634 
635  /**
636   * Sets the <code>Displayorder</code> value, with checking, for this 
637   * <code>Link</code> <code>Persistent</code>.
638   * 
639   * @generator org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 
640   * @param cooked  a validated <code>int</code>
641   * @throws AccessPoemException 
642   *         if the current <code>AccessToken</code> 
643   *         does not confer write access rights
644   * @throws ValidationPoemException 
645   *         if the value is not valid
646   */
647 
648   public final void setDisplayorder(int cooked)
649       throws AccessPoemException, ValidationPoemException {
650     setDisplayorder(new Integer(cooked));
651   }
652 
653 
654  /**
655   * Retrieves the <code>Displayorder</code> value as a <code>Field</code>
656   * from this <code>Link</code> <code>Persistent</code>.
657   * 
658   * @see org.melati.poem.prepro.FieldDef#generateFieldCreator 
659   * @throws AccessPoemException 
660   *         if the current <code>AccessToken</code> 
661   *         does not confer write access rights
662   * @return the Integer displayorder
663   */
664   public Field getDisplayorderField() throws AccessPoemException {
665     Column c = _getLinkTable().getDisplayorderColumn();
666     return new Field(c.getRaw(this), c);
667   }
668 }
669