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.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.bibliomania.BibliomaniaDatabaseTables;
13 import org.paneris.bibliomania.Product;
14 import org.paneris.bibliomania.Supplier;
15 import org.paneris.bibliomania.SupplierProduct;
16 import org.paneris.bibliomania.SupplierProductTable;
17
18
19 /**
20 * Melati POEM generated abstract base class for a <code>Persistent</code>
21 * <code>SupplierProduct</code> Object.
22 *
23 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
24 */
25 public abstract class SupplierProductBase extends JdbcPersistent {
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>SupplierProductTable</code> table
41 * which this <code>Persistent</code> is from.
42 *
43 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava
44 * @return the SupplierProductTable
45 */
46 @SuppressWarnings("unchecked")
47 public SupplierProductTable<SupplierProduct> getSupplierProductTable() {
48 return (SupplierProductTable<SupplierProduct>)getTable();
49 }
50
51 @SuppressWarnings("unchecked")
52 private SupplierProductTable<SupplierProduct> _getSupplierProductTable() {
53 return (SupplierProductTable<SupplierProduct>)getTable();
54 }
55
56 // Fields in this table
57 /**
58 * id
59 */
60 protected Integer id;
61 /**
62 * Supplier - A supplier for this product
63 */
64 protected Integer supplier;
65 /**
66 * Product - A product for this supplier
67 */
68 protected Integer product;
69
70
71 /**
72 * Retrieves the <code>Id</code> value, without locking,
73 * for this <code>SupplierProduct</code> <code>Persistent</code>.
74 *
75 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
76 * @return the Integer id
77 */
78 public Integer getId_unsafe() {
79 return id;
80 }
81
82
83 /**
84 * Sets the <code>Id</code> value directly, without checking,
85 * for this SupplierProduct <code>Persistent</code>.
86 *
87 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
88 * @param cooked the pre-validated value to set
89 */
90 public void setId_unsafe(Integer cooked) {
91 id = cooked;
92 }
93
94 /**
95 * Retrieves the Id value, with locking, for this
96 * <code>SupplierProduct</code> <code>Persistent</code>.
97 *
98 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
99 * @throws AccessPoemException
100 * if the current <code>AccessToken</code>
101 * does not confer write access rights
102 * @return the value of the field <code>Id</code> for this
103 * <code>SupplierProduct</code> <code>Persistent</code>
104 */
105
106 public Integer getId()
107 throws AccessPoemException {
108 readLock();
109 return getId_unsafe();
110 }
111
112
113 /**
114 * Sets the <code>Id</code> value, with checking, for this
115 * <code>SupplierProduct</code> <code>Persistent</code>.
116 *
117 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
118 * @param cooked a validated <code>int</code>
119 * @throws AccessPoemException
120 * if the current <code>AccessToken</code>
121 * does not confer write access rights
122 * @throws ValidationPoemException
123 * if the value is not valid
124 */
125 public void setId(Integer cooked)
126 throws AccessPoemException, ValidationPoemException {
127 _getSupplierProductTable().getIdColumn().
128 getType().assertValidCooked(cooked);
129 writeLock();
130 setId_unsafe(cooked);
131 }
132
133 /**
134 * Sets the <code>Id</code> value, with checking, for this
135 * <code>SupplierProduct</code> <code>Persistent</code>.
136 *
137 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
138 * @param cooked a validated <code>int</code>
139 * @throws AccessPoemException
140 * if the current <code>AccessToken</code>
141 * does not confer write access rights
142 * @throws ValidationPoemException
143 * if the value is not valid
144 */
145
146 public final void setId(int cooked)
147 throws AccessPoemException, ValidationPoemException {
148 setId(new Integer(cooked));
149 }
150
151
152 /**
153 * Retrieves the <code>Id</code> value as a <code>Field</code>
154 * from this <code>SupplierProduct</code> <code>Persistent</code>.
155 *
156 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
157 * @throws AccessPoemException
158 * if the current <code>AccessToken</code>
159 * does not confer write access rights
160 * @return the Integer id
161 */
162 public Field<Integer> getIdField() throws AccessPoemException {
163 Column<Integer> c = _getSupplierProductTable().getIdColumn();
164 return new Field<Integer>((Integer)c.getRaw(this), c);
165 }
166
167
168 /**
169 * Retrieves the <code>Supplier</code> value, without locking,
170 * for this <code>SupplierProduct</code> <code>Persistent</code>.
171 *
172 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
173 * @return the Integer supplier
174 */
175 public Integer getSupplier_unsafe() {
176 return supplier;
177 }
178
179
180 /**
181 * Sets the <code>Supplier</code> value directly, without checking,
182 * for this SupplierProduct <code>Persistent</code>.
183 *
184 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
185 * @param cooked the pre-validated value to set
186 */
187 public void setSupplier_unsafe(Integer cooked) {
188 supplier = cooked;
189 }
190
191 /**
192 * Retrieves the Table Row Object ID.
193 *
194 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
195 * @throws AccessPoemException
196 * if the current <code>AccessToken</code>
197 * does not confer read access rights
198 * @return the TROID as an <code>Integer</code>
199 */
200
201 public Integer getSupplierTroid()
202 throws AccessPoemException {
203 readLock();
204 return getSupplier_unsafe();
205 }
206
207
208 /**
209 * Sets the Table Row Object ID.
210 *
211 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
212 * @param raw a Table Row Object Id
213 * @throws AccessPoemException
214 * if the current <code>AccessToken</code>
215 * does not confer write access rights
216 */
217 public void setSupplierTroid(Integer raw)
218 throws AccessPoemException {
219 setSupplier(raw == null ? null :
220 getBibliomaniaDatabaseTables().getSupplierTable().getSupplierObject(raw));
221 }
222
223
224 /**
225 * Retrieves the <code>Supplier</code> object referred to.
226 *
227 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
228 * @throws AccessPoemException
229 * if the current <code>AccessToken</code>
230 * does not confer read access rights
231 * @throws NoSuchRowPoemException
232 * if the <code>Persistent</code> has yet to be allocated a TROID
233 * @return the <code>Supplier</code> as a <code>Supplier</code>
234 */
235 public Supplier getSupplier()
236 throws AccessPoemException, NoSuchRowPoemException {
237 Integer troid = getSupplierTroid();
238 return troid == null ? null :
239 getBibliomaniaDatabaseTables().getSupplierTable().getSupplierObject(troid);
240 }
241
242
243 /**
244 * Set the Supplier.
245 *
246 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
247 * @param cooked a validated <code>Supplier</code>
248 * @throws AccessPoemException
249 * if the current <code>AccessToken</code>
250 * does not confer write access rights
251 */
252 public void setSupplier(Supplier cooked)
253 throws AccessPoemException {
254 _getSupplierProductTable().
255 getSupplierColumn().
256 getType().assertValidCooked(cooked);
257 writeLock();
258 if (cooked == null)
259 setSupplier_unsafe(null);
260 else {
261 cooked.existenceLock();
262 setSupplier_unsafe(cooked.troid());
263 }
264 }
265
266
267 /**
268 * Retrieves the <code>Supplier</code> value as a <code>Field</code>
269 * from this <code>SupplierProduct</code> <code>Persistent</code>.
270 *
271 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
272 * @throws AccessPoemException
273 * if the current <code>AccessToken</code>
274 * does not confer write access rights
275 * @return the Integer supplier
276 */
277 public Field<Integer> getSupplierField() throws AccessPoemException {
278 Column<Integer> c = _getSupplierProductTable().getSupplierColumn();
279 return new Field<Integer>((Integer)c.getRaw(this), c);
280 }
281
282
283 /**
284 * Retrieves the <code>Product</code> value, without locking,
285 * for this <code>SupplierProduct</code> <code>Persistent</code>.
286 *
287 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
288 * @return the Integer product
289 */
290 public Integer getProduct_unsafe() {
291 return product;
292 }
293
294
295 /**
296 * Sets the <code>Product</code> value directly, without checking,
297 * for this SupplierProduct <code>Persistent</code>.
298 *
299 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
300 * @param cooked the pre-validated value to set
301 */
302 public void setProduct_unsafe(Integer cooked) {
303 product = cooked;
304 }
305
306 /**
307 * Retrieves the Table Row Object ID.
308 *
309 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
310 * @throws AccessPoemException
311 * if the current <code>AccessToken</code>
312 * does not confer read access rights
313 * @return the TROID as an <code>Integer</code>
314 */
315
316 public Integer getProductTroid()
317 throws AccessPoemException {
318 readLock();
319 return getProduct_unsafe();
320 }
321
322
323 /**
324 * Sets the Table Row Object ID.
325 *
326 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
327 * @param raw a Table Row Object Id
328 * @throws AccessPoemException
329 * if the current <code>AccessToken</code>
330 * does not confer write access rights
331 */
332 public void setProductTroid(Integer raw)
333 throws AccessPoemException {
334 setProduct(raw == null ? null :
335 getBibliomaniaDatabaseTables().getProductTable().getProductObject(raw));
336 }
337
338
339 /**
340 * Retrieves the <code>Product</code> object referred to.
341 *
342 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
343 * @throws AccessPoemException
344 * if the current <code>AccessToken</code>
345 * does not confer read access rights
346 * @throws NoSuchRowPoemException
347 * if the <code>Persistent</code> has yet to be allocated a TROID
348 * @return the <code>Product</code> as a <code>Product</code>
349 */
350 public Product getProduct()
351 throws AccessPoemException, NoSuchRowPoemException {
352 Integer troid = getProductTroid();
353 return troid == null ? null :
354 getBibliomaniaDatabaseTables().getProductTable().getProductObject(troid);
355 }
356
357
358 /**
359 * Set the Product.
360 *
361 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods
362 * @param cooked a validated <code>Product</code>
363 * @throws AccessPoemException
364 * if the current <code>AccessToken</code>
365 * does not confer write access rights
366 */
367 public void setProduct(Product cooked)
368 throws AccessPoemException {
369 _getSupplierProductTable().
370 getProductColumn().
371 getType().assertValidCooked(cooked);
372 writeLock();
373 if (cooked == null)
374 setProduct_unsafe(null);
375 else {
376 cooked.existenceLock();
377 setProduct_unsafe(cooked.troid());
378 }
379 }
380
381
382 /**
383 * Retrieves the <code>Product</code> value as a <code>Field</code>
384 * from this <code>SupplierProduct</code> <code>Persistent</code>.
385 *
386 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
387 * @throws AccessPoemException
388 * if the current <code>AccessToken</code>
389 * does not confer write access rights
390 * @return the Integer product
391 */
392 public Field<Integer> getProductField() throws AccessPoemException {
393 Column<Integer> c = _getSupplierProductTable().getProductColumn();
394 return new Field<Integer>((Integer)c.getRaw(this), c);
395 }
396
397 }
398