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.util.Collections;
7 import java.util.Enumeration;
8 import java.util.List;
9 import org.melati.poem.AccessPoemException;
10 import org.melati.poem.CachedSelection;
11 import org.melati.poem.Column;
12 import org.melati.poem.Field;
13 import org.melati.poem.JdbcPersistent;
14 import org.melati.poem.ValidationPoemException;
15 import org.melati.poem.util.EmptyEnumeration;
16 import org.paneris.bibliomania.BibliomaniaDatabaseTables;
17 import org.paneris.bibliomania.BookFormat;
18 import org.paneris.bibliomania.BookFormatTable;
19 import org.paneris.bibliomania.BookStocking;
20 import org.paneris.bibliomania.Product;
21
22
23 /**
24 * Melati POEM generated abstract base class for a <code>Persistent</code>
25 * <code>BookFormat</code> Object.
26 *
27 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
28 */
29 public abstract class BookFormatBase extends JdbcPersistent {
30
31
32 /**
33 * Retrieves the Database object.
34 *
35 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
36 * @return the database
37 */
38 public BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() {
39 return (BibliomaniaDatabaseTables)getDatabase();
40 }
41
42
43 /**
44 * Retrieves the <code>BookFormatTable</code> table
45 * which this <code>Persistent</code> is from.
46 *
47 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
48 * @return the BookFormatTable
49 */
50 @SuppressWarnings("unchecked")
51 public BookFormatTable<BookFormat> getBookFormatTable() {
52 return (BookFormatTable<BookFormat>)getTable();
53 }
54
55 @SuppressWarnings("unchecked")
56 private BookFormatTable<BookFormat> _getBookFormatTable() {
57 return (BookFormatTable<BookFormat>)getTable();
58 }
59
60 // Fields in this table
61 /**
62 * id
63 */
64 protected Integer id;
65 /**
66 * Display name - A name for the format
67 */
68 protected String displayname;
69 /**
70 * Description regexp - A regular expression pattern for matching the
71 * different ways bookshops describe the format
72 */
73 protected String descriptionregexp;
74
75
76 /**
77 * Retrieves the <code>Id</code> value, without locking,
78 * for this <code>BookFormat</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 BookFormat <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>BookFormat</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>BookFormat</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>BookFormat</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 _getBookFormatTable().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>BookFormat</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>BookFormat</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 = _getBookFormatTable().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>BookFormat</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 BookFormat <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>BookFormat</code> <code>Persistent</code>.
199 * Field description:
200 * A name for the format
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>BookFormat</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>BookFormat</code> <code>Persistent</code>.
220 * Field description:
221 * A name for the format
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 _getBookFormatTable().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>BookFormat</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 = _getBookFormatTable().getDisplaynameColumn();
252 return new Field<String>((String)c.getRaw(this), c);
253 }
254
255
256 /**
257 * Retrieves the <code>Descriptionregexp</code> value, without locking,
258 * for this <code>BookFormat</code> <code>Persistent</code>.
259 *
260 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
261 * @return the String descriptionregexp
262 */
263 public String getDescriptionregexp_unsafe() {
264 return descriptionregexp;
265 }
266
267
268 /**
269 * Sets the <code>Descriptionregexp</code> value directly, without checking,
270 * for this BookFormat <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 setDescriptionregexp_unsafe(String cooked) {
276 descriptionregexp = cooked;
277 }
278
279 /**
280 * Retrieves the Descriptionregexp value, with locking, for this
281 * <code>BookFormat</code> <code>Persistent</code>.
282 * Field description:
283 * A regular expression pattern for matching the different ways bookshops
284 * describe the format
285 *
286 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
287 * @throws AccessPoemException
288 * if the current <code>AccessToken</code>
289 * does not confer write access rights
290 * @return the value of the field <code>Descriptionregexp</code> for this
291 * <code>BookFormat</code> <code>Persistent</code>
292 */
293
294 public String getDescriptionregexp()
295 throws AccessPoemException {
296 readLock();
297 return getDescriptionregexp_unsafe();
298 }
299
300
301 /**
302 * Sets the <code>Descriptionregexp</code> value, with checking, for this
303 * <code>BookFormat</code> <code>Persistent</code>.
304 * Field description:
305 * A regular expression pattern for matching the different ways bookshops
306 * describe the format
307 *
308 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
309 * @param cooked a validated <code>int</code>
310 * @throws AccessPoemException
311 * if the current <code>AccessToken</code>
312 * does not confer write access rights
313 * @throws ValidationPoemException
314 * if the value is not valid
315 */
316 public void setDescriptionregexp(String cooked)
317 throws AccessPoemException, ValidationPoemException {
318 _getBookFormatTable().getDescriptionregexpColumn().
319 getType().assertValidCooked(cooked);
320 writeLock();
321 setDescriptionregexp_unsafe(cooked);
322 }
323
324
325 /**
326 * Retrieves the <code>Descriptionregexp</code> value as a <code>Field</code>
327 * from this <code>BookFormat</code> <code>Persistent</code>.
328 *
329 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
330 * @throws AccessPoemException
331 * if the current <code>AccessToken</code>
332 * does not confer write access rights
333 * @return the String descriptionregexp
334 */
335 public Field<String> getDescriptionregexpField() throws AccessPoemException {
336 Column<String> c = _getBookFormatTable().getDescriptionregexpColumn();
337 return new Field<String>((String)c.getRaw(this), c);
338 }
339
340 private CachedSelection<Product> formatProducts = null;
341 /** References to this BookFormat in the Product table via its format field.*/
342 @SuppressWarnings("unchecked")
343 public Enumeration<Product> getFormatProducts() {
344 if (getTroid() == null)
345 return new EmptyEnumeration<Product>();
346 else {
347 if (formatProducts == null)
348 formatProducts =
349 getBibliomaniaDatabaseTables().getProductTable().getFormatColumn().cachedSelectionWhereEq(getTroid());
350 return formatProducts.objects();
351 }
352 }
353
354
355 /** References to this BookFormat in the Product table via its format field, as a List.*/
356 public List<Product> getFormatProductList() {
357 return Collections.list(getFormatProducts());
358 }
359
360
361
362 private CachedSelection<BookStocking> formatcodeBookStockings = null;
363 /** References to this BookFormat in the BookStocking table via its formatcode field.*/
364 @SuppressWarnings("unchecked")
365 public Enumeration<BookStocking> getFormatcodeBookStockings() {
366 if (getTroid() == null)
367 return new EmptyEnumeration<BookStocking>();
368 else {
369 if (formatcodeBookStockings == null)
370 formatcodeBookStockings =
371 getBibliomaniaDatabaseTables().getBookStockingTable().getFormatcodeColumn().cachedSelectionWhereEq(getTroid());
372 return formatcodeBookStockings.objects();
373 }
374 }
375
376
377 /** References to this BookFormat in the BookStocking table via its formatcode field, as a List.*/
378 public List<BookStocking> getFormatcodeBookStockingList() {
379 return Collections.list(getFormatcodeBookStockings());
380 }
381
382
383
384 }
385