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