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