1 // Do not edit this file! It was generated by Melati POEM's DSD preprocessor. 2 3 package org.melati.poem.test.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.JdbcPersistent; 11 import org.melati.poem.NoSuchRowPoemException; 12 import org.melati.poem.ValidationPoemException; 13 import org.melati.poem.test.EverythingDatabaseTables; 14 import org.melati.poem.test.Protected; 15 import org.melati.poem.test.ProtectedTable; 16 import org.melati.poem.test.User; 17 18 19 /** 20 * Melati POEM generated abstract base class for a <code>Persistent</code> 21 * <code>Protected</code> Object. 22 * 23 * See org.melati.poem.prepro.TableDef#generatePersistentBaseJava 24 */ 25 public abstract class ProtectedBase 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 EverythingDatabaseTables getEverythingDatabaseTables() { 35 return (EverythingDatabaseTables)getDatabase(); 36 } 37 38 39 /** 40 * Retrieves the <code>ProtectedTable</code> table 41 * which this <code>Persistent</code> is from. 42 * 43 * See org.melati.poem.prepro.TableDef#generatePersistentBaseJava 44 * @return the ProtectedTable 45 */ 46 @SuppressWarnings("unchecked") 47 public ProtectedTable<Protected> getProtectedTable() { 48 return (ProtectedTable<Protected>)getTable(); 49 } 50 51 @SuppressWarnings("unchecked") 52 private ProtectedTable<Protected> _getProtectedTable() { 53 return (ProtectedTable<Protected>)getTable(); 54 } 55 56 // Fields in this table 57 /** 58 * id 59 */ 60 protected Integer id; 61 /** 62 * spy - Spy 63 */ 64 protected Integer spy; 65 /** 66 * mission - Secret mission 67 */ 68 protected String mission; 69 /** 70 * canRead - Capability required to read this row 71 */ 72 protected Integer canRead; 73 /** 74 * canWrite - Capability required to write this row 75 */ 76 protected Integer canWrite; 77 /** 78 * canDelete - Capability required to delete this row 79 */ 80 protected Integer canDelete; 81 /** 82 * canSelect - Capability required to select this row 83 */ 84 protected Integer canSelect; 85 /** 86 * deleted - Whether this record is existant 87 */ 88 protected Boolean deleted; 89 90 91 /** 92 * Retrieves the <code>Id</code> value, without locking, 93 * for this <code>Protected</code> <code>Persistent</code>. 94 * 95 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 96 * @return the Integer id 97 */ 98 public Integer getId_unsafe() { 99 return id; 100 } 101 102 103 /** 104 * Sets the <code>Id</code> value directly, without checking, 105 * for this Protected <code>Persistent</code>. 106 * 107 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 108 * @param cooked the pre-validated value to set 109 */ 110 public void setId_unsafe(Integer cooked) { 111 id = cooked; 112 } 113 114 /** 115 * Retrieves the Id value, with locking, for this 116 * <code>Protected</code> <code>Persistent</code>. 117 * 118 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 119 * @throws AccessPoemException 120 * if the current <code>AccessToken</code> 121 * does not confer write access rights 122 * @return the value of the field <code>Id</code> for this 123 * <code>Protected</code> <code>Persistent</code> 124 */ 125 126 public Integer getId() 127 throws AccessPoemException { 128 readLock(); 129 return getId_unsafe(); 130 } 131 132 133 /** 134 * Sets the <code>Id</code> value, with checking, for this 135 * <code>Protected</code> <code>Persistent</code>. 136 * 137 * Generated by org.melati.poem.prepro.AtomFieldDef#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 public void setId(Integer cooked) 146 throws AccessPoemException, ValidationPoemException { 147 _getProtectedTable().getIdColumn(). 148 getType().assertValidCooked(cooked); 149 writeLock(); 150 setId_unsafe(cooked); 151 } 152 153 /** 154 * Sets the <code>Id</code> value, with checking, for this 155 * <code>Protected</code> <code>Persistent</code>. 156 * 157 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 158 * @param cooked a validated <code>int</code> 159 * @throws AccessPoemException 160 * if the current <code>AccessToken</code> 161 * does not confer write access rights 162 * @throws ValidationPoemException 163 * if the value is not valid 164 */ 165 166 public final void setId(int cooked) 167 throws AccessPoemException, ValidationPoemException { 168 setId(new Integer(cooked)); 169 } 170 171 172 /** 173 * Retrieves the <code>Id</code> value as a <code>Field</code> 174 * from this <code>Protected</code> <code>Persistent</code>. 175 * 176 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 177 * @throws AccessPoemException 178 * if the current <code>AccessToken</code> 179 * does not confer write access rights 180 * @return the Integer id 181 */ 182 public Field<Integer> getIdField() throws AccessPoemException { 183 Column<Integer> c = _getProtectedTable().getIdColumn(); 184 return new Field<Integer>((Integer)c.getRaw(this), c); 185 } 186 187 188 /** 189 * Retrieves the <code>Spy</code> value, without locking, 190 * for this <code>Protected</code> <code>Persistent</code>. 191 * 192 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 193 * @return the Integer spy 194 */ 195 public Integer getSpy_unsafe() { 196 return spy; 197 } 198 199 200 /** 201 * Sets the <code>Spy</code> value directly, without checking, 202 * for this Protected <code>Persistent</code>. 203 * 204 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 205 * @param cooked the pre-validated value to set 206 */ 207 public void setSpy_unsafe(Integer cooked) { 208 spy = cooked; 209 } 210 211 /** 212 * Retrieves the Table Row Object ID. 213 * 214 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 215 * @throws AccessPoemException 216 * if the current <code>AccessToken</code> 217 * does not confer read access rights 218 * @return the TROID as an <code>Integer</code> 219 */ 220 221 public Integer getSpyTroid() 222 throws AccessPoemException { 223 readLock(); 224 return getSpy_unsafe(); 225 } 226 227 228 /** 229 * Sets the Table Row Object ID. 230 * 231 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 232 * @param raw a Table Row Object Id 233 * @throws AccessPoemException 234 * if the current <code>AccessToken</code> 235 * does not confer write access rights 236 */ 237 public void setSpyTroid(Integer raw) 238 throws AccessPoemException { 239 setSpy(raw == null ? null : 240 (User)getEverythingDatabaseTables().getUserTable().getUserObject(raw)); 241 } 242 243 244 /** 245 * Retrieves the <code>Spy</code> object referred to. 246 * 247 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 248 * @throws AccessPoemException 249 * if the current <code>AccessToken</code> 250 * does not confer read access rights 251 * @throws NoSuchRowPoemException 252 * if the <code>Persistent</code> has yet to be allocated a TROID 253 * @return the <code>Spy</code> as a <code>User</code> 254 */ 255 public User getSpy() 256 throws AccessPoemException, NoSuchRowPoemException { 257 Integer troid = getSpyTroid(); 258 return troid == null ? null : 259 (User)getEverythingDatabaseTables().getUserTable().getUserObject(troid); 260 } 261 262 263 /** 264 * Set the Spy. 265 * 266 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 267 * @param cooked a validated <code>User</code> 268 * @throws AccessPoemException 269 * if the current <code>AccessToken</code> 270 * does not confer write access rights 271 */ 272 public void setSpy(User cooked) 273 throws AccessPoemException { 274 _getProtectedTable(). 275 getSpyColumn(). 276 getType().assertValidCooked(cooked); 277 writeLock(); 278 if (cooked == null) 279 setSpy_unsafe(null); 280 else { 281 cooked.existenceLock(); 282 setSpy_unsafe(cooked.troid()); 283 } 284 } 285 286 287 /** 288 * Retrieves the <code>Spy</code> value as a <code>Field</code> 289 * from this <code>Protected</code> <code>Persistent</code>. 290 * 291 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 292 * @throws AccessPoemException 293 * if the current <code>AccessToken</code> 294 * does not confer write access rights 295 * @return the Integer spy 296 */ 297 public Field<Integer> getSpyField() throws AccessPoemException { 298 Column<Integer> c = _getProtectedTable().getSpyColumn(); 299 return new Field<Integer>((Integer)c.getRaw(this), c); 300 } 301 302 303 /** 304 * Retrieves the <code>Mission</code> value, without locking, 305 * for this <code>Protected</code> <code>Persistent</code>. 306 * 307 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 308 * @return the String mission 309 */ 310 public String getMission_unsafe() { 311 return mission; 312 } 313 314 315 /** 316 * Sets the <code>Mission</code> value directly, without checking, 317 * for this Protected <code>Persistent</code>. 318 * 319 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 320 * @param cooked the pre-validated value to set 321 */ 322 public void setMission_unsafe(String cooked) { 323 mission = cooked; 324 } 325 326 /** 327 * Retrieves the Mission value, with locking, for this 328 * <code>Protected</code> <code>Persistent</code>. 329 * Field description: 330 * Secret mission 331 * 332 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 333 * @throws AccessPoemException 334 * if the current <code>AccessToken</code> 335 * does not confer write access rights 336 * @return the value of the field <code>Mission</code> for this 337 * <code>Protected</code> <code>Persistent</code> 338 */ 339 340 public String getMission() 341 throws AccessPoemException { 342 readLock(); 343 return getMission_unsafe(); 344 } 345 346 347 /** 348 * Sets the <code>Mission</code> value, with checking, for this 349 * <code>Protected</code> <code>Persistent</code>. 350 * Field description: 351 * Secret mission 352 * 353 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 354 * @param cooked a validated <code>int</code> 355 * @throws AccessPoemException 356 * if the current <code>AccessToken</code> 357 * does not confer write access rights 358 * @throws ValidationPoemException 359 * if the value is not valid 360 */ 361 public void setMission(String cooked) 362 throws AccessPoemException, ValidationPoemException { 363 _getProtectedTable().getMissionColumn(). 364 getType().assertValidCooked(cooked); 365 writeLock(); 366 setMission_unsafe(cooked); 367 } 368 369 370 /** 371 * Retrieves the <code>Mission</code> value as a <code>Field</code> 372 * from this <code>Protected</code> <code>Persistent</code>. 373 * 374 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 375 * @throws AccessPoemException 376 * if the current <code>AccessToken</code> 377 * does not confer write access rights 378 * @return the String mission 379 */ 380 public Field<String> getMissionField() throws AccessPoemException { 381 Column<String> c = _getProtectedTable().getMissionColumn(); 382 return new Field<String>((String)c.getRaw(this), c); 383 } 384 385 386 /** 387 * Retrieves the <code>CanRead</code> value, without locking, 388 * for this <code>Protected</code> <code>Persistent</code>. 389 * 390 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 391 * @return the Integer canRead 392 */ 393 public Integer getCanRead_unsafe() { 394 return canRead; 395 } 396 397 398 /** 399 * Sets the <code>CanRead</code> value directly, without checking, 400 * for this Protected <code>Persistent</code>. 401 * 402 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 403 * @param cooked the pre-validated value to set 404 */ 405 public void setCanRead_unsafe(Integer cooked) { 406 canRead = cooked; 407 } 408 409 /** 410 * Retrieves the Table Row Object ID. 411 * 412 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 413 * @throws AccessPoemException 414 * if the current <code>AccessToken</code> 415 * does not confer read access rights 416 * @return the TROID as an <code>Integer</code> 417 */ 418 419 public Integer getCanReadTroid() 420 throws AccessPoemException { 421 readLock(); 422 return getCanRead_unsafe(); 423 } 424 425 426 /** 427 * Sets the Table Row Object ID. 428 * 429 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 430 * @param raw a Table Row Object Id 431 * @throws AccessPoemException 432 * if the current <code>AccessToken</code> 433 * does not confer write access rights 434 */ 435 public void setCanReadTroid(Integer raw) 436 throws AccessPoemException { 437 setCanRead(raw == null ? null : 438 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(raw)); 439 } 440 441 442 /** 443 * Retrieves the <code>CanRead</code> object referred to. 444 * 445 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 446 * @throws AccessPoemException 447 * if the current <code>AccessToken</code> 448 * does not confer read access rights 449 * @throws NoSuchRowPoemException 450 * if the <code>Persistent</code> has yet to be allocated a TROID 451 * @return the <code>CanRead</code> as a <code>Capability</code> 452 */ 453 public Capability getCanRead() 454 throws AccessPoemException, NoSuchRowPoemException { 455 Integer troid = getCanReadTroid(); 456 return troid == null ? null : 457 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(troid); 458 } 459 460 461 /** 462 * Set the CanRead. 463 * 464 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 465 * @param cooked a validated <code>Capability</code> 466 * @throws AccessPoemException 467 * if the current <code>AccessToken</code> 468 * does not confer write access rights 469 */ 470 public void setCanRead(Capability cooked) 471 throws AccessPoemException { 472 _getProtectedTable(). 473 getCanReadColumn(). 474 getType().assertValidCooked(cooked); 475 writeLock(); 476 if (cooked == null) 477 setCanRead_unsafe(null); 478 else { 479 cooked.existenceLock(); 480 setCanRead_unsafe(cooked.troid()); 481 } 482 } 483 484 485 /** 486 * Retrieves the <code>CanRead</code> value as a <code>Field</code> 487 * from this <code>Protected</code> <code>Persistent</code>. 488 * 489 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 490 * @throws AccessPoemException 491 * if the current <code>AccessToken</code> 492 * does not confer write access rights 493 * @return the Integer canRead 494 */ 495 public Field<Integer> getCanReadField() throws AccessPoemException { 496 Column<Integer> c = _getProtectedTable().getCanReadColumn(); 497 return new Field<Integer>((Integer)c.getRaw(this), c); 498 } 499 500 501 /** 502 * Retrieves the <code>CanWrite</code> value, without locking, 503 * for this <code>Protected</code> <code>Persistent</code>. 504 * 505 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 506 * @return the Integer canWrite 507 */ 508 public Integer getCanWrite_unsafe() { 509 return canWrite; 510 } 511 512 513 /** 514 * Sets the <code>CanWrite</code> value directly, without checking, 515 * for this Protected <code>Persistent</code>. 516 * 517 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 518 * @param cooked the pre-validated value to set 519 */ 520 public void setCanWrite_unsafe(Integer cooked) { 521 canWrite = cooked; 522 } 523 524 /** 525 * Retrieves the Table Row Object ID. 526 * 527 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 528 * @throws AccessPoemException 529 * if the current <code>AccessToken</code> 530 * does not confer read access rights 531 * @return the TROID as an <code>Integer</code> 532 */ 533 534 public Integer getCanWriteTroid() 535 throws AccessPoemException { 536 readLock(); 537 return getCanWrite_unsafe(); 538 } 539 540 541 /** 542 * Sets the Table Row Object ID. 543 * 544 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 545 * @param raw a Table Row Object Id 546 * @throws AccessPoemException 547 * if the current <code>AccessToken</code> 548 * does not confer write access rights 549 */ 550 public void setCanWriteTroid(Integer raw) 551 throws AccessPoemException { 552 setCanWrite(raw == null ? null : 553 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(raw)); 554 } 555 556 557 /** 558 * Retrieves the <code>CanWrite</code> object referred to. 559 * 560 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 561 * @throws AccessPoemException 562 * if the current <code>AccessToken</code> 563 * does not confer read access rights 564 * @throws NoSuchRowPoemException 565 * if the <code>Persistent</code> has yet to be allocated a TROID 566 * @return the <code>CanWrite</code> as a <code>Capability</code> 567 */ 568 public Capability getCanWrite() 569 throws AccessPoemException, NoSuchRowPoemException { 570 Integer troid = getCanWriteTroid(); 571 return troid == null ? null : 572 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(troid); 573 } 574 575 576 /** 577 * Set the CanWrite. 578 * 579 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 580 * @param cooked a validated <code>Capability</code> 581 * @throws AccessPoemException 582 * if the current <code>AccessToken</code> 583 * does not confer write access rights 584 */ 585 public void setCanWrite(Capability cooked) 586 throws AccessPoemException { 587 _getProtectedTable(). 588 getCanWriteColumn(). 589 getType().assertValidCooked(cooked); 590 writeLock(); 591 if (cooked == null) 592 setCanWrite_unsafe(null); 593 else { 594 cooked.existenceLock(); 595 setCanWrite_unsafe(cooked.troid()); 596 } 597 } 598 599 600 /** 601 * Retrieves the <code>CanWrite</code> value as a <code>Field</code> 602 * from this <code>Protected</code> <code>Persistent</code>. 603 * 604 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 605 * @throws AccessPoemException 606 * if the current <code>AccessToken</code> 607 * does not confer write access rights 608 * @return the Integer canWrite 609 */ 610 public Field<Integer> getCanWriteField() throws AccessPoemException { 611 Column<Integer> c = _getProtectedTable().getCanWriteColumn(); 612 return new Field<Integer>((Integer)c.getRaw(this), c); 613 } 614 615 616 /** 617 * Retrieves the <code>CanDelete</code> value, without locking, 618 * for this <code>Protected</code> <code>Persistent</code>. 619 * 620 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 621 * @return the Integer canDelete 622 */ 623 public Integer getCanDelete_unsafe() { 624 return canDelete; 625 } 626 627 628 /** 629 * Sets the <code>CanDelete</code> value directly, without checking, 630 * for this Protected <code>Persistent</code>. 631 * 632 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 633 * @param cooked the pre-validated value to set 634 */ 635 public void setCanDelete_unsafe(Integer cooked) { 636 canDelete = cooked; 637 } 638 639 /** 640 * Retrieves the Table Row Object ID. 641 * 642 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 643 * @throws AccessPoemException 644 * if the current <code>AccessToken</code> 645 * does not confer read access rights 646 * @return the TROID as an <code>Integer</code> 647 */ 648 649 public Integer getCanDeleteTroid() 650 throws AccessPoemException { 651 readLock(); 652 return getCanDelete_unsafe(); 653 } 654 655 656 /** 657 * Sets the Table Row Object ID. 658 * 659 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 660 * @param raw a Table Row Object Id 661 * @throws AccessPoemException 662 * if the current <code>AccessToken</code> 663 * does not confer write access rights 664 */ 665 public void setCanDeleteTroid(Integer raw) 666 throws AccessPoemException { 667 setCanDelete(raw == null ? null : 668 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(raw)); 669 } 670 671 672 /** 673 * Retrieves the <code>CanDelete</code> object referred to. 674 * 675 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 676 * @throws AccessPoemException 677 * if the current <code>AccessToken</code> 678 * does not confer read access rights 679 * @throws NoSuchRowPoemException 680 * if the <code>Persistent</code> has yet to be allocated a TROID 681 * @return the <code>CanDelete</code> as a <code>Capability</code> 682 */ 683 public Capability getCanDelete() 684 throws AccessPoemException, NoSuchRowPoemException { 685 Integer troid = getCanDeleteTroid(); 686 return troid == null ? null : 687 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(troid); 688 } 689 690 691 /** 692 * Set the CanDelete. 693 * 694 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 695 * @param cooked a validated <code>Capability</code> 696 * @throws AccessPoemException 697 * if the current <code>AccessToken</code> 698 * does not confer write access rights 699 */ 700 public void setCanDelete(Capability cooked) 701 throws AccessPoemException { 702 _getProtectedTable(). 703 getCanDeleteColumn(). 704 getType().assertValidCooked(cooked); 705 writeLock(); 706 if (cooked == null) 707 setCanDelete_unsafe(null); 708 else { 709 cooked.existenceLock(); 710 setCanDelete_unsafe(cooked.troid()); 711 } 712 } 713 714 715 /** 716 * Retrieves the <code>CanDelete</code> value as a <code>Field</code> 717 * from this <code>Protected</code> <code>Persistent</code>. 718 * 719 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 720 * @throws AccessPoemException 721 * if the current <code>AccessToken</code> 722 * does not confer write access rights 723 * @return the Integer canDelete 724 */ 725 public Field<Integer> getCanDeleteField() throws AccessPoemException { 726 Column<Integer> c = _getProtectedTable().getCanDeleteColumn(); 727 return new Field<Integer>((Integer)c.getRaw(this), c); 728 } 729 730 731 /** 732 * Retrieves the <code>CanSelect</code> value, without locking, 733 * for this <code>Protected</code> <code>Persistent</code>. 734 * 735 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 736 * @return the Integer canSelect 737 */ 738 public Integer getCanSelect_unsafe() { 739 return canSelect; 740 } 741 742 743 /** 744 * Sets the <code>CanSelect</code> value directly, without checking, 745 * for this Protected <code>Persistent</code>. 746 * 747 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 748 * @param cooked the pre-validated value to set 749 */ 750 public void setCanSelect_unsafe(Integer cooked) { 751 canSelect = cooked; 752 } 753 754 /** 755 * Retrieves the Table Row Object ID. 756 * 757 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 758 * @throws AccessPoemException 759 * if the current <code>AccessToken</code> 760 * does not confer read access rights 761 * @return the TROID as an <code>Integer</code> 762 */ 763 764 public Integer getCanSelectTroid() 765 throws AccessPoemException { 766 readLock(); 767 return getCanSelect_unsafe(); 768 } 769 770 771 /** 772 * Sets the Table Row Object ID. 773 * 774 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 775 * @param raw a Table Row Object Id 776 * @throws AccessPoemException 777 * if the current <code>AccessToken</code> 778 * does not confer write access rights 779 */ 780 public void setCanSelectTroid(Integer raw) 781 throws AccessPoemException { 782 setCanSelect(raw == null ? null : 783 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(raw)); 784 } 785 786 787 /** 788 * Retrieves the <code>CanSelect</code> object referred to. 789 * 790 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 791 * @throws AccessPoemException 792 * if the current <code>AccessToken</code> 793 * does not confer read access rights 794 * @throws NoSuchRowPoemException 795 * if the <code>Persistent</code> has yet to be allocated a TROID 796 * @return the <code>CanSelect</code> as a <code>Capability</code> 797 */ 798 public Capability getCanSelect() 799 throws AccessPoemException, NoSuchRowPoemException { 800 Integer troid = getCanSelectTroid(); 801 return troid == null ? null : 802 getEverythingDatabaseTables().getCapabilityTable().getCapabilityObject(troid); 803 } 804 805 806 /** 807 * Set the CanSelect. 808 * 809 * Generated by org.melati.poem.prepro.ReferenceFieldDef#generateBaseMethods 810 * @param cooked a validated <code>Capability</code> 811 * @throws AccessPoemException 812 * if the current <code>AccessToken</code> 813 * does not confer write access rights 814 */ 815 public void setCanSelect(Capability cooked) 816 throws AccessPoemException { 817 _getProtectedTable(). 818 getCanSelectColumn(). 819 getType().assertValidCooked(cooked); 820 writeLock(); 821 if (cooked == null) 822 setCanSelect_unsafe(null); 823 else { 824 cooked.existenceLock(); 825 setCanSelect_unsafe(cooked.troid()); 826 } 827 } 828 829 830 /** 831 * Retrieves the <code>CanSelect</code> value as a <code>Field</code> 832 * from this <code>Protected</code> <code>Persistent</code>. 833 * 834 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 835 * @throws AccessPoemException 836 * if the current <code>AccessToken</code> 837 * does not confer write access rights 838 * @return the Integer canSelect 839 */ 840 public Field<Integer> getCanSelectField() throws AccessPoemException { 841 Column<Integer> c = _getProtectedTable().getCanSelectColumn(); 842 return new Field<Integer>((Integer)c.getRaw(this), c); 843 } 844 845 846 /** 847 * Retrieves the <code>Deleted</code> value, without locking, 848 * for this <code>Protected</code> <code>Persistent</code>. 849 * 850 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 851 * @return the Boolean deleted 852 */ 853 public Boolean getDeleted_unsafe() { 854 return deleted; 855 } 856 857 858 /** 859 * Sets the <code>Deleted</code> value directly, without checking, 860 * for this Protected <code>Persistent</code>. 861 * 862 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 863 * @param cooked the pre-validated value to set 864 */ 865 public void setDeleted_unsafe(Boolean cooked) { 866 deleted = cooked; 867 } 868 869 /** 870 * Retrieves the Deleted value, with locking, for this 871 * <code>Protected</code> <code>Persistent</code>. 872 * Field description: 873 * Whether this record is existant 874 * 875 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 876 * @throws AccessPoemException 877 * if the current <code>AccessToken</code> 878 * does not confer write access rights 879 * @return the value of the field <code>Deleted</code> for this 880 * <code>Protected</code> <code>Persistent</code> 881 */ 882 883 public Boolean getDeleted() 884 throws AccessPoemException { 885 readLock(); 886 return getDeleted_unsafe(); 887 } 888 889 890 /** 891 * Sets the <code>Deleted</code> value, with checking, for this 892 * <code>Protected</code> <code>Persistent</code>. 893 * Field description: 894 * Whether this record is existant 895 * 896 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 897 * @param cooked a validated <code>int</code> 898 * @throws AccessPoemException 899 * if the current <code>AccessToken</code> 900 * does not confer write access rights 901 * @throws ValidationPoemException 902 * if the value is not valid 903 */ 904 public void setDeleted(Boolean cooked) 905 throws AccessPoemException, ValidationPoemException { 906 _getProtectedTable().getDeletedColumn(). 907 getType().assertValidCooked(cooked); 908 writeLock(); 909 setDeleted_unsafe(cooked); 910 } 911 912 /** 913 * Sets the <code>Deleted</code> value, with checking, 914 * from a <code>boolean</code>, for this 915 * <code>Protected</code> <code>Persistent</code>. 916 * Field description: 917 * Whether this record is existant 918 * 919 * 920 * Generated by org.melati.poem.prepro.BooleanFieldDef#generateBaseMethods 921 * @param cooked a <code>boolean</code> 922 * @throws AccessPoemException 923 * if the current <code>AccessToken</code> 924 * does not confer write access rights 925 * @throws ValidationPoemException 926 * if the value is not valid 927 */ 928 929 public final void setDeleted(boolean cooked) 930 throws AccessPoemException, ValidationPoemException { 931 setDeleted(cooked ? Boolean.TRUE : Boolean.FALSE); 932 } 933 934 935 /** 936 * Retrieves the <code>Deleted</code> value as a <code>Field</code> 937 * from this <code>Protected</code> <code>Persistent</code>. 938 * 939 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 940 * @throws AccessPoemException 941 * if the current <code>AccessToken</code> 942 * does not confer write access rights 943 * @return the Boolean deleted 944 */ 945 public Field<Boolean> getDeletedField() throws AccessPoemException { 946 Column<Boolean> c = _getProtectedTable().getDeletedColumn(); 947 return new Field<Boolean>((Boolean)c.getRaw(this), c); 948 } 949 950 } 951