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.Board; 15 import org.paneris.bibliomania.Layout; 16 import org.paneris.bibliomania.Unit; 17 import org.paneris.bibliomania.UnitTable; 18 19 20 /** 21 * Melati POEM generated abstract base class for a <code>Persistent</code> 22 * <code>Unit</code> Object. 23 * 24 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 25 */ 26 public abstract class UnitBase 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>UnitTable</code> table 42 * which this <code>Persistent</code> is from. 43 * 44 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 45 * @return the UnitTable 46 */ 47 @SuppressWarnings("unchecked") 48 public UnitTable<Unit> getUnitTable() { 49 return (UnitTable<Unit>)getTable(); 50 } 51 52 @SuppressWarnings("unchecked") 53 private UnitTable<Unit> _getUnitTable() { 54 return (UnitTable<Unit>)getTable(); 55 } 56 57 // Fields in this table 58 /** 59 * path - The path to this unit in the local filesystem, relative to the 60 * application's workspace 61 */ 62 protected String path; 63 /** 64 * deleted - Whether or not to include this Unit 65 */ 66 protected Boolean deleted; 67 /** 68 * Last encached - When the unit was encached; cleared when the unit is 69 * updated 70 */ 71 protected Timestamp lastencached; 72 /** 73 * layout - The name of the layout for this Unit 74 */ 75 protected Integer layout; 76 /** 77 * messageboard - A messageboard on which this unit can be discussed 78 */ 79 protected Integer messageboard; 80 81 82 /** 83 * Retrieves the <code>Path</code> value, without locking, 84 * for this <code>Unit</code> <code>Persistent</code>. 85 * 86 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 87 * @return the String path 88 */ 89 public String getPath_unsafe() { 90 return path; 91 } 92 93 94 /** 95 * Sets the <code>Path</code> value directly, without checking, 96 * for this Unit <code>Persistent</code>. 97 * 98 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 99 * @param cooked the pre-validated value to set 100 */ 101 public void setPath_unsafe(String cooked) { 102 path = cooked; 103 } 104 105 /** 106 * Retrieves the Path value, with locking, for this 107 * <code>Unit</code> <code>Persistent</code>. 108 * Field description: 109 * The path to this unit in the local filesystem, relative to the 110 * application's workspace 111 * 112 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 113 * @throws AccessPoemException 114 * if the current <code>AccessToken</code> 115 * does not confer write access rights 116 * @return the value of the field <code>Path</code> for this 117 * <code>Unit</code> <code>Persistent</code> 118 */ 119 120 public String getPath() 121 throws AccessPoemException { 122 readLock(); 123 return getPath_unsafe(); 124 } 125 126 127 /** 128 * Sets the <code>Path</code> value, with checking, for this 129 * <code>Unit</code> <code>Persistent</code>. 130 * Field description: 131 * The path to this unit in the local filesystem, relative to the 132 * application's workspace 133 * 134 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 135 * @param cooked a validated <code>int</code> 136 * @throws AccessPoemException 137 * if the current <code>AccessToken</code> 138 * does not confer write access rights 139 * @throws ValidationPoemException 140 * if the value is not valid 141 */ 142 public void setPath(String cooked) 143 throws AccessPoemException, ValidationPoemException { 144 _getUnitTable().getPathColumn(). 145 getType().assertValidCooked(cooked); 146 writeLock(); 147 setPath_unsafe(cooked); 148 } 149 150 151 /** 152 * Retrieves the <code>Path</code> value as a <code>Field</code> 153 * from this <code>Unit</code> <code>Persistent</code>. 154 * 155 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 156 * @throws AccessPoemException 157 * if the current <code>AccessToken</code> 158 * does not confer write access rights 159 * @return the String path 160 */ 161 public Field<String> getPathField() throws AccessPoemException { 162 Column<String> c = _getUnitTable().getPathColumn(); 163 return new Field<String>((String)c.getRaw(this), c); 164 } 165 166 167 /** 168 * Retrieves the <code>Deleted</code> value, without locking, 169 * for this <code>Unit</code> <code>Persistent</code>. 170 * 171 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 172 * @return the Boolean deleted 173 */ 174 public Boolean getDeleted_unsafe() { 175 return deleted; 176 } 177 178 179 /** 180 * Sets the <code>Deleted</code> value directly, without checking, 181 * for this Unit <code>Persistent</code>. 182 * 183 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 184 * @param cooked the pre-validated value to set 185 */ 186 public void setDeleted_unsafe(Boolean cooked) { 187 deleted = cooked; 188 } 189 190 /** 191 * Retrieves the Deleted value, with locking, for this 192 * <code>Unit</code> <code>Persistent</code>. 193 * Field description: 194 * Whether or not to include this Unit 195 * 196 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 197 * @throws AccessPoemException 198 * if the current <code>AccessToken</code> 199 * does not confer write access rights 200 * @return the value of the field <code>Deleted</code> for this 201 * <code>Unit</code> <code>Persistent</code> 202 */ 203 204 public Boolean getDeleted() 205 throws AccessPoemException { 206 readLock(); 207 return getDeleted_unsafe(); 208 } 209 210 211 /** 212 * Sets the <code>Deleted</code> value, with checking, for this 213 * <code>Unit</code> <code>Persistent</code>. 214 * Field description: 215 * Whether or not to include this Unit 216 * 217 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 218 * @param cooked a validated <code>int</code> 219 * @throws AccessPoemException 220 * if the current <code>AccessToken</code> 221 * does not confer write access rights 222 * @throws ValidationPoemException 223 * if the value is not valid 224 */ 225 public void setDeleted(Boolean cooked) 226 throws AccessPoemException, ValidationPoemException { 227 _getUnitTable().getDeletedColumn(). 228 getType().assertValidCooked(cooked); 229 writeLock(); 230 setDeleted_unsafe(cooked); 231 } 232 233 /** 234 * Sets the <code>Deleted</code> value, with checking, 235 * from a <code>boolean</code>, for this 236 * <code>Unit</code> <code>Persistent</code>. 237 * Field description: 238 * Whether or not to include this Unit 239 * 240 * 241 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 242 * @param cooked a <code>boolean</code> 243 * @throws AccessPoemException 244 * if the current <code>AccessToken</code> 245 * does not confer write access rights 246 * @throws ValidationPoemException 247 * if the value is not valid 248 */ 249 250 public final void setDeleted(boolean cooked) 251 throws AccessPoemException, ValidationPoemException { 252 setDeleted(cooked ? Boolean.TRUE : Boolean.FALSE); 253 } 254 255 256 /** 257 * Retrieves the <code>Deleted</code> value as a <code>Field</code> 258 * from this <code>Unit</code> <code>Persistent</code>. 259 * 260 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 261 * @throws AccessPoemException 262 * if the current <code>AccessToken</code> 263 * does not confer write access rights 264 * @return the Boolean deleted 265 */ 266 public Field<Boolean> getDeletedField() throws AccessPoemException { 267 Column<Boolean> c = _getUnitTable().getDeletedColumn(); 268 return new Field<Boolean>((Boolean)c.getRaw(this), c); 269 } 270 271 272 /** 273 * Retrieves the <code>Lastencached</code> value, without locking, 274 * for this <code>Unit</code> <code>Persistent</code>. 275 * 276 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 277 * @return the Timestamp lastencached 278 */ 279 public Timestamp getLastencached_unsafe() { 280 return lastencached; 281 } 282 283 284 /** 285 * Sets the <code>Lastencached</code> value directly, without checking, 286 * for this Unit <code>Persistent</code>. 287 * 288 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 289 * @param cooked the pre-validated value to set 290 */ 291 public void setLastencached_unsafe(Timestamp cooked) { 292 lastencached = cooked; 293 } 294 295 /** 296 * Retrieves the Lastencached value, with locking, for this 297 * <code>Unit</code> <code>Persistent</code>. 298 * Field description: 299 * When the unit was encached; cleared when the unit is updated 300 * 301 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 302 * @throws AccessPoemException 303 * if the current <code>AccessToken</code> 304 * does not confer write access rights 305 * @return the value of the field <code>Lastencached</code> for this 306 * <code>Unit</code> <code>Persistent</code> 307 */ 308 309 public Timestamp getLastencached() 310 throws AccessPoemException { 311 readLock(); 312 return getLastencached_unsafe(); 313 } 314 315 316 /** 317 * Sets the <code>Lastencached</code> value, with checking, for this 318 * <code>Unit</code> <code>Persistent</code>. 319 * Field description: 320 * When the unit was encached; cleared when the unit is updated 321 * 322 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 323 * @param cooked a validated <code>int</code> 324 * @throws AccessPoemException 325 * if the current <code>AccessToken</code> 326 * does not confer write access rights 327 * @throws ValidationPoemException 328 * if the value is not valid 329 */ 330 public void setLastencached(Timestamp cooked) 331 throws AccessPoemException, ValidationPoemException { 332 _getUnitTable().getLastencachedColumn(). 333 getType().assertValidCooked(cooked); 334 writeLock(); 335 setLastencached_unsafe(cooked); 336 } 337 338 339 /** 340 * Retrieves the <code>Lastencached</code> value as a <code>Field</code> 341 * from this <code>Unit</code> <code>Persistent</code>. 342 * 343 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 344 * @throws AccessPoemException 345 * if the current <code>AccessToken</code> 346 * does not confer write access rights 347 * @return the Timestamp lastencached 348 */ 349 public Field<Timestamp> getLastencachedField() throws AccessPoemException { 350 Column<Timestamp> c = _getUnitTable().getLastencachedColumn(); 351 return new Field<Timestamp>((Timestamp)c.getRaw(this), c); 352 } 353 354 355 /** 356 * Retrieves the <code>Layout</code> value, without locking, 357 * for this <code>Unit</code> <code>Persistent</code>. 358 * 359 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 360 * @return the Integer layout 361 */ 362 public Integer getLayout_unsafe() { 363 return layout; 364 } 365 366 367 /** 368 * Sets the <code>Layout</code> value directly, without checking, 369 * for this Unit <code>Persistent</code>. 370 * 371 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 372 * @param cooked the pre-validated value to set 373 */ 374 public void setLayout_unsafe(Integer cooked) { 375 layout = cooked; 376 } 377 378 /** 379 * Retrieves the Table Row Object ID. 380 * 381 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 382 * @throws AccessPoemException 383 * if the current <code>AccessToken</code> 384 * does not confer read access rights 385 * @return the TROID as an <code>Integer</code> 386 */ 387 388 public Integer getLayoutTroid() 389 throws AccessPoemException { 390 readLock(); 391 return getLayout_unsafe(); 392 } 393 394 395 /** 396 * Sets the Table Row Object ID. 397 * 398 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 399 * @param raw a Table Row Object Id 400 * @throws AccessPoemException 401 * if the current <code>AccessToken</code> 402 * does not confer write access rights 403 */ 404 public void setLayoutTroid(Integer raw) 405 throws AccessPoemException { 406 setLayout(raw == null ? null : 407 getBibliomaniaDatabaseTables().getLayoutTable().getLayoutObject(raw)); 408 } 409 410 411 /** 412 * Retrieves the <code>Layout</code> object referred to. 413 * 414 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 415 * @throws AccessPoemException 416 * if the current <code>AccessToken</code> 417 * does not confer read access rights 418 * @throws NoSuchRowPoemException 419 * if the <code>Persistent</code> has yet to be allocated a TROID 420 * @return the <code>Layout</code> as a <code>Layout</code> 421 */ 422 public Layout getLayout() 423 throws AccessPoemException, NoSuchRowPoemException { 424 Integer troid = getLayoutTroid(); 425 return troid == null ? null : 426 getBibliomaniaDatabaseTables().getLayoutTable().getLayoutObject(troid); 427 } 428 429 430 /** 431 * Set the Layout. 432 * 433 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 434 * @param cooked a validated <code>Layout</code> 435 * @throws AccessPoemException 436 * if the current <code>AccessToken</code> 437 * does not confer write access rights 438 */ 439 public void setLayout(Layout cooked) 440 throws AccessPoemException { 441 _getUnitTable(). 442 getLayoutColumn(). 443 getType().assertValidCooked(cooked); 444 writeLock(); 445 if (cooked == null) 446 setLayout_unsafe(null); 447 else { 448 cooked.existenceLock(); 449 setLayout_unsafe(cooked.troid()); 450 } 451 } 452 453 454 /** 455 * Retrieves the <code>Layout</code> value as a <code>Field</code> 456 * from this <code>Unit</code> <code>Persistent</code>. 457 * 458 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 459 * @throws AccessPoemException 460 * if the current <code>AccessToken</code> 461 * does not confer write access rights 462 * @return the Integer layout 463 */ 464 public Field<Integer> getLayoutField() throws AccessPoemException { 465 Column<Integer> c = _getUnitTable().getLayoutColumn(); 466 return new Field<Integer>((Integer)c.getRaw(this), c); 467 } 468 469 470 /** 471 * Retrieves the <code>Messageboard</code> value, without locking, 472 * for this <code>Unit</code> <code>Persistent</code>. 473 * 474 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 475 * @return the Integer messageboard 476 */ 477 public Integer getMessageboard_unsafe() { 478 return messageboard; 479 } 480 481 482 /** 483 * Sets the <code>Messageboard</code> value directly, without checking, 484 * for this Unit <code>Persistent</code>. 485 * 486 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 487 * @param cooked the pre-validated value to set 488 */ 489 public void setMessageboard_unsafe(Integer cooked) { 490 messageboard = cooked; 491 } 492 493 /** 494 * Retrieves the Table Row Object ID. 495 * 496 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 497 * @throws AccessPoemException 498 * if the current <code>AccessToken</code> 499 * does not confer read access rights 500 * @return the TROID as an <code>Integer</code> 501 */ 502 503 public Integer getMessageboardTroid() 504 throws AccessPoemException { 505 readLock(); 506 return getMessageboard_unsafe(); 507 } 508 509 510 /** 511 * Sets the Table Row Object ID. 512 * 513 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 514 * @param raw a Table Row Object Id 515 * @throws AccessPoemException 516 * if the current <code>AccessToken</code> 517 * does not confer write access rights 518 */ 519 public void setMessageboardTroid(Integer raw) 520 throws AccessPoemException { 521 setMessageboard(raw == null ? null : 522 (Board)getBibliomaniaDatabaseTables().getBoardTable().getBoardObject(raw)); 523 } 524 525 526 /** 527 * Retrieves the <code>Messageboard</code> object referred to. 528 * 529 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 530 * @throws AccessPoemException 531 * if the current <code>AccessToken</code> 532 * does not confer read access rights 533 * @throws NoSuchRowPoemException 534 * if the <code>Persistent</code> has yet to be allocated a TROID 535 * @return the <code>Messageboard</code> as a <code>Board</code> 536 */ 537 public Board getMessageboard() 538 throws AccessPoemException, NoSuchRowPoemException { 539 Integer troid = getMessageboardTroid(); 540 return troid == null ? null : 541 (Board)getBibliomaniaDatabaseTables().getBoardTable().getBoardObject(troid); 542 } 543 544 545 /** 546 * Set the Messageboard. 547 * 548 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 549 * @param cooked a validated <code>Board</code> 550 * @throws AccessPoemException 551 * if the current <code>AccessToken</code> 552 * does not confer write access rights 553 */ 554 public void setMessageboard(Board cooked) 555 throws AccessPoemException { 556 _getUnitTable(). 557 getMessageboardColumn(). 558 getType().assertValidCooked(cooked); 559 writeLock(); 560 if (cooked == null) 561 setMessageboard_unsafe(null); 562 else { 563 cooked.existenceLock(); 564 setMessageboard_unsafe(cooked.troid()); 565 } 566 } 567 568 569 /** 570 * Retrieves the <code>Messageboard</code> value as a <code>Field</code> 571 * from this <code>Unit</code> <code>Persistent</code>. 572 * 573 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 574 * @throws AccessPoemException 575 * if the current <code>AccessToken</code> 576 * does not confer write access rights 577 * @return the Integer messageboard 578 */ 579 public Field<Integer> getMessageboardField() throws AccessPoemException { 580 Column<Integer> c = _getUnitTable().getMessageboardColumn(); 581 return new Field<Integer>((Integer)c.getRaw(this), c); 582 } 583 584 } 585