001 package org.apache.turbine.services.security.torque.om; 002 003 004 import java.math.BigDecimal; 005 import java.sql.Connection; 006 import java.util.ArrayList; 007 import java.util.Collections; 008 import java.util.Date; 009 import java.util.List; 010 011 import org.apache.commons.lang.ObjectUtils; 012 import org.apache.torque.TorqueException; 013 import org.apache.torque.map.TableMap; 014 import org.apache.torque.om.BaseObject; 015 import org.apache.torque.om.ComboKey; 016 import org.apache.torque.om.DateKey; 017 import org.apache.torque.om.NumberKey; 018 import org.apache.torque.om.ObjectKey; 019 import org.apache.torque.om.SimpleKey; 020 import org.apache.torque.om.StringKey; 021 import org.apache.torque.om.Persistent; 022 import org.apache.torque.util.Criteria; 023 import org.apache.torque.util.Transaction; 024 025 026 027 028 029 /** 030 * This class was autogenerated by Torque on: 031 * 032 * [Thu Jun 23 17:25:46 CEST 2011] 033 * 034 * You should not use this class directly. It should not even be 035 * extended all references should be to TurbineUserGroupRole 036 */ 037 public abstract class BaseTurbineUserGroupRole extends BaseObject 038 { 039 /** Serial version */ 040 private static final long serialVersionUID = 1308842746584L; 041 042 /** The Peer class */ 043 private static final TurbineUserGroupRolePeer peer = 044 new TurbineUserGroupRolePeer(); 045 046 047 /** The value for the userId field */ 048 private int userId; 049 050 /** The value for the groupId field */ 051 private int groupId; 052 053 /** The value for the roleId field */ 054 private int roleId; 055 056 057 /** 058 * Get the UserId 059 * 060 * @return int 061 */ 062 public int getUserId() 063 { 064 return userId; 065 } 066 067 068 /** 069 * Set the value of UserId 070 * 071 * @param v new value 072 */ 073 public void setUserId(int v) throws TorqueException 074 { 075 076 if (this.userId != v) 077 { 078 this.userId = v; 079 setModified(true); 080 } 081 082 083 if (aTurbineUser != null && !(aTurbineUser.getUserId() == v)) 084 { 085 aTurbineUser = null; 086 } 087 088 } 089 090 /** 091 * Get the GroupId 092 * 093 * @return int 094 */ 095 public int getGroupId() 096 { 097 return groupId; 098 } 099 100 101 /** 102 * Set the value of GroupId 103 * 104 * @param v new value 105 */ 106 public void setGroupId(int v) throws TorqueException 107 { 108 109 if (this.groupId != v) 110 { 111 this.groupId = v; 112 setModified(true); 113 } 114 115 116 if (aTurbineGroup != null && !(aTurbineGroup.getGroupId() == v)) 117 { 118 aTurbineGroup = null; 119 } 120 121 } 122 123 /** 124 * Get the RoleId 125 * 126 * @return int 127 */ 128 public int getRoleId() 129 { 130 return roleId; 131 } 132 133 134 /** 135 * Set the value of RoleId 136 * 137 * @param v new value 138 */ 139 public void setRoleId(int v) throws TorqueException 140 { 141 142 if (this.roleId != v) 143 { 144 this.roleId = v; 145 setModified(true); 146 } 147 148 149 if (aTurbineRole != null && !(aTurbineRole.getRoleId() == v)) 150 { 151 aTurbineRole = null; 152 } 153 154 } 155 156 157 158 159 160 private TurbineUser aTurbineUser; 161 162 /** 163 * Declares an association between this object and a TurbineUser object 164 * 165 * @param v TurbineUser 166 * @throws TorqueException 167 */ 168 public void setTurbineUser(TurbineUser v) throws TorqueException 169 { 170 if (v == null) 171 { 172 setUserId( 0); 173 } 174 else 175 { 176 setUserId(v.getUserId()); 177 } 178 aTurbineUser = v; 179 } 180 181 182 /** 183 * Returns the associated TurbineUser object. 184 * If it was not retrieved before, the object is retrieved from 185 * the database 186 * 187 * @return the associated TurbineUser object 188 * @throws TorqueException 189 */ 190 public TurbineUser getTurbineUser() 191 throws TorqueException 192 { 193 if (aTurbineUser == null && (this.userId != 0)) 194 { 195 aTurbineUser = TurbineUserPeer.retrieveByPK(SimpleKey.keyFor(this.userId)); 196 } 197 return aTurbineUser; 198 } 199 200 /** 201 * Return the associated TurbineUser object 202 * If it was not retrieved before, the object is retrieved from 203 * the database using the passed connection 204 * 205 * @param connection the connection used to retrieve the associated object 206 * from the database, if it was not retrieved before 207 * @return the associated TurbineUser object 208 * @throws TorqueException 209 */ 210 public TurbineUser getTurbineUser(Connection connection) 211 throws TorqueException 212 { 213 if (aTurbineUser == null && (this.userId != 0)) 214 { 215 aTurbineUser = TurbineUserPeer.retrieveByPK(SimpleKey.keyFor(this.userId), connection); 216 } 217 return aTurbineUser; 218 } 219 220 /** 221 * Provides convenient way to set a relationship based on a 222 * ObjectKey, for example 223 * <code>bar.setFooKey(foo.getPrimaryKey())</code> 224 * 225 */ 226 public void setTurbineUserKey(ObjectKey key) throws TorqueException 227 { 228 229 setUserId(((NumberKey) key).intValue()); 230 } 231 232 233 234 235 private TurbineGroup aTurbineGroup; 236 237 /** 238 * Declares an association between this object and a TurbineGroup object 239 * 240 * @param v TurbineGroup 241 * @throws TorqueException 242 */ 243 public void setTurbineGroup(TurbineGroup v) throws TorqueException 244 { 245 if (v == null) 246 { 247 setGroupId( 0); 248 } 249 else 250 { 251 setGroupId(v.getGroupId()); 252 } 253 aTurbineGroup = v; 254 } 255 256 257 /** 258 * Returns the associated TurbineGroup object. 259 * If it was not retrieved before, the object is retrieved from 260 * the database 261 * 262 * @return the associated TurbineGroup object 263 * @throws TorqueException 264 */ 265 public TurbineGroup getTurbineGroup() 266 throws TorqueException 267 { 268 if (aTurbineGroup == null && (this.groupId != 0)) 269 { 270 aTurbineGroup = TurbineGroupPeer.retrieveByPK(SimpleKey.keyFor(this.groupId)); 271 } 272 return aTurbineGroup; 273 } 274 275 /** 276 * Return the associated TurbineGroup object 277 * If it was not retrieved before, the object is retrieved from 278 * the database using the passed connection 279 * 280 * @param connection the connection used to retrieve the associated object 281 * from the database, if it was not retrieved before 282 * @return the associated TurbineGroup object 283 * @throws TorqueException 284 */ 285 public TurbineGroup getTurbineGroup(Connection connection) 286 throws TorqueException 287 { 288 if (aTurbineGroup == null && (this.groupId != 0)) 289 { 290 aTurbineGroup = TurbineGroupPeer.retrieveByPK(SimpleKey.keyFor(this.groupId), connection); 291 } 292 return aTurbineGroup; 293 } 294 295 /** 296 * Provides convenient way to set a relationship based on a 297 * ObjectKey, for example 298 * <code>bar.setFooKey(foo.getPrimaryKey())</code> 299 * 300 */ 301 public void setTurbineGroupKey(ObjectKey key) throws TorqueException 302 { 303 304 setGroupId(((NumberKey) key).intValue()); 305 } 306 307 308 309 310 private TurbineRole aTurbineRole; 311 312 /** 313 * Declares an association between this object and a TurbineRole object 314 * 315 * @param v TurbineRole 316 * @throws TorqueException 317 */ 318 public void setTurbineRole(TurbineRole v) throws TorqueException 319 { 320 if (v == null) 321 { 322 setRoleId( 0); 323 } 324 else 325 { 326 setRoleId(v.getRoleId()); 327 } 328 aTurbineRole = v; 329 } 330 331 332 /** 333 * Returns the associated TurbineRole object. 334 * If it was not retrieved before, the object is retrieved from 335 * the database 336 * 337 * @return the associated TurbineRole object 338 * @throws TorqueException 339 */ 340 public TurbineRole getTurbineRole() 341 throws TorqueException 342 { 343 if (aTurbineRole == null && (this.roleId != 0)) 344 { 345 aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId)); 346 } 347 return aTurbineRole; 348 } 349 350 /** 351 * Return the associated TurbineRole object 352 * If it was not retrieved before, the object is retrieved from 353 * the database using the passed connection 354 * 355 * @param connection the connection used to retrieve the associated object 356 * from the database, if it was not retrieved before 357 * @return the associated TurbineRole object 358 * @throws TorqueException 359 */ 360 public TurbineRole getTurbineRole(Connection connection) 361 throws TorqueException 362 { 363 if (aTurbineRole == null && (this.roleId != 0)) 364 { 365 aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId), connection); 366 } 367 return aTurbineRole; 368 } 369 370 /** 371 * Provides convenient way to set a relationship based on a 372 * ObjectKey, for example 373 * <code>bar.setFooKey(foo.getPrimaryKey())</code> 374 * 375 */ 376 public void setTurbineRoleKey(ObjectKey key) throws TorqueException 377 { 378 379 setRoleId(((NumberKey) key).intValue()); 380 } 381 382 383 private static List<String> fieldNames = null; 384 385 /** 386 * Generate a list of field names. 387 * 388 * @return a list of field names 389 */ 390 public static synchronized List<String> getFieldNames() 391 { 392 if (fieldNames == null) 393 { 394 fieldNames = new ArrayList<String>(); 395 fieldNames.add("UserId"); 396 fieldNames.add("GroupId"); 397 fieldNames.add("RoleId"); 398 fieldNames = Collections.unmodifiableList(fieldNames); 399 } 400 return fieldNames; 401 } 402 403 /** 404 * Retrieves a field from the object by field (Java) name passed in as a String. 405 * 406 * @param name field name 407 * @return value 408 */ 409 public Object getByName(String name) 410 { 411 if (name.equals("UserId")) 412 { 413 return new Integer(getUserId()); 414 } 415 if (name.equals("GroupId")) 416 { 417 return new Integer(getGroupId()); 418 } 419 if (name.equals("RoleId")) 420 { 421 return new Integer(getRoleId()); 422 } 423 return null; 424 } 425 426 /** 427 * Set a field in the object by field (Java) name. 428 * 429 * @param name field name 430 * @param value field value 431 * @return True if value was set, false if not (invalid name / protected field). 432 * @throws IllegalArgumentException if object type of value does not match field object type. 433 * @throws TorqueException If a problem occurs with the set[Field] method. 434 */ 435 public boolean setByName(String name, Object value ) 436 throws TorqueException, IllegalArgumentException 437 { 438 if (name.equals("UserId")) 439 { 440 if (value == null || ! (Integer.class.isInstance(value))) 441 { 442 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object."); 443 } 444 setUserId(((Integer) value).intValue()); 445 return true; 446 } 447 if (name.equals("GroupId")) 448 { 449 if (value == null || ! (Integer.class.isInstance(value))) 450 { 451 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object."); 452 } 453 setGroupId(((Integer) value).intValue()); 454 return true; 455 } 456 if (name.equals("RoleId")) 457 { 458 if (value == null || ! (Integer.class.isInstance(value))) 459 { 460 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object."); 461 } 462 setRoleId(((Integer) value).intValue()); 463 return true; 464 } 465 return false; 466 } 467 468 /** 469 * Retrieves a field from the object by name passed in 470 * as a String. The String must be one of the static 471 * Strings defined in this Class' Peer. 472 * 473 * @param name peer name 474 * @return value 475 */ 476 public Object getByPeerName(String name) 477 { 478 if (name.equals(TurbineUserGroupRolePeer.USER_ID)) 479 { 480 return new Integer(getUserId()); 481 } 482 if (name.equals(TurbineUserGroupRolePeer.GROUP_ID)) 483 { 484 return new Integer(getGroupId()); 485 } 486 if (name.equals(TurbineUserGroupRolePeer.ROLE_ID)) 487 { 488 return new Integer(getRoleId()); 489 } 490 return null; 491 } 492 493 /** 494 * Set field values by Peer Field Name 495 * 496 * @param name field name 497 * @param value field value 498 * @return True if value was set, false if not (invalid name / protected field). 499 * @throws IllegalArgumentException if object type of value does not match field object type. 500 * @throws TorqueException If a problem occurs with the set[Field] method. 501 */ 502 public boolean setByPeerName(String name, Object value) 503 throws TorqueException, IllegalArgumentException 504 { 505 if (TurbineUserGroupRolePeer.USER_ID.equals(name)) 506 { 507 return setByName("UserId", value); 508 } 509 if (TurbineUserGroupRolePeer.GROUP_ID.equals(name)) 510 { 511 return setByName("GroupId", value); 512 } 513 if (TurbineUserGroupRolePeer.ROLE_ID.equals(name)) 514 { 515 return setByName("RoleId", value); 516 } 517 return false; 518 } 519 520 /** 521 * Retrieves a field from the object by Position as specified 522 * in the xml schema. Zero-based. 523 * 524 * @param pos position in xml schema 525 * @return value 526 */ 527 public Object getByPosition(int pos) 528 { 529 if (pos == 0) 530 { 531 return new Integer(getUserId()); 532 } 533 if (pos == 1) 534 { 535 return new Integer(getGroupId()); 536 } 537 if (pos == 2) 538 { 539 return new Integer(getRoleId()); 540 } 541 return null; 542 } 543 544 /** 545 * Set field values by its position (zero based) in the XML schema. 546 * 547 * @param position The field position 548 * @param value field value 549 * @return True if value was set, false if not (invalid position / protected field). 550 * @throws IllegalArgumentException if object type of value does not match field object type. 551 * @throws TorqueException If a problem occurs with the set[Field] method. 552 */ 553 public boolean setByPosition(int position, Object value) 554 throws TorqueException, IllegalArgumentException 555 { 556 if (position == 0) 557 { 558 return setByName("UserId", value); 559 } 560 if (position == 1) 561 { 562 return setByName("GroupId", value); 563 } 564 if (position == 2) 565 { 566 return setByName("RoleId", value); 567 } 568 return false; 569 } 570 571 /** 572 * Stores the object in the database. If the object is new, 573 * it inserts it; otherwise an update is performed. 574 * 575 * @throws Exception 576 */ 577 public void save() throws Exception 578 { 579 save(TurbineUserGroupRolePeer.DATABASE_NAME); 580 } 581 582 /** 583 * Stores the object in the database. If the object is new, 584 * it inserts it; otherwise an update is performed. 585 * Note: this code is here because the method body is 586 * auto-generated conditionally and therefore needs to be 587 * in this file instead of in the super class, BaseObject. 588 * 589 * @param dbName 590 * @throws TorqueException 591 */ 592 public void save(String dbName) throws TorqueException 593 { 594 Connection con = null; 595 try 596 { 597 con = Transaction.begin(dbName); 598 save(con); 599 Transaction.commit(con); 600 } 601 catch(TorqueException e) 602 { 603 Transaction.safeRollback(con); 604 throw e; 605 } 606 } 607 608 /** flag to prevent endless save loop, if this object is referenced 609 by another object which falls in this transaction. */ 610 private boolean alreadyInSave = false; 611 /** 612 * Stores the object in the database. If the object is new, 613 * it inserts it; otherwise an update is performed. This method 614 * is meant to be used as part of a transaction, otherwise use 615 * the save() method and the connection details will be handled 616 * internally 617 * 618 * @param con 619 * @throws TorqueException 620 */ 621 public void save(Connection con) throws TorqueException 622 { 623 if (!alreadyInSave) 624 { 625 alreadyInSave = true; 626 627 628 629 // If this object has been modified, then save it to the database. 630 if (isModified()) 631 { 632 if (isNew()) 633 { 634 TurbineUserGroupRolePeer.doInsert((TurbineUserGroupRole) this, con); 635 setNew(false); 636 } 637 else 638 { 639 TurbineUserGroupRolePeer.doUpdate((TurbineUserGroupRole) this, con); 640 } 641 } 642 643 alreadyInSave = false; 644 } 645 } 646 647 648 649 private final SimpleKey[] pks = new SimpleKey[3]; 650 private final ComboKey comboPK = new ComboKey(pks); 651 652 /** 653 * Set the PrimaryKey with an ObjectKey 654 * 655 * @param key 656 */ 657 public void setPrimaryKey(ObjectKey key) throws TorqueException 658 { 659 SimpleKey[] keys = (SimpleKey[]) key.getValue(); 660 setUserId(((NumberKey)keys[0]).intValue()); 661 setGroupId(((NumberKey)keys[1]).intValue()); 662 setRoleId(((NumberKey)keys[2]).intValue()); 663 } 664 665 /** 666 * Set the PrimaryKey using SimpleKeys. 667 * 668 * @param userId int 669 * @param groupId int 670 * @param roleId int 671 */ 672 public void setPrimaryKey( int userId, int groupId, int roleId) 673 throws TorqueException 674 { 675 setUserId(userId); 676 setGroupId(groupId); 677 setRoleId(roleId); 678 } 679 680 /** 681 * Set the PrimaryKey using a String. 682 */ 683 public void setPrimaryKey(String key) throws TorqueException 684 { 685 setPrimaryKey(new ComboKey(key)); 686 } 687 688 /** 689 * returns an id that differentiates this object from others 690 * of its class. 691 */ 692 public ObjectKey getPrimaryKey() 693 { 694 pks[0] = SimpleKey.keyFor(getUserId()); 695 pks[1] = SimpleKey.keyFor(getGroupId()); 696 pks[2] = SimpleKey.keyFor(getRoleId()); 697 return comboPK; 698 } 699 700 701 /** 702 * Makes a copy of this object. 703 * It creates a new object filling in the simple attributes. 704 * It then fills all the association collections and sets the 705 * related objects to isNew=true. 706 */ 707 public TurbineUserGroupRole copy() throws TorqueException 708 { 709 return copy(true); 710 } 711 712 /** 713 * Makes a copy of this object using connection. 714 * It creates a new object filling in the simple attributes. 715 * It then fills all the association collections and sets the 716 * related objects to isNew=true. 717 * 718 * @param con the database connection to read associated objects. 719 */ 720 public TurbineUserGroupRole copy(Connection con) throws TorqueException 721 { 722 return copy(true, con); 723 } 724 725 /** 726 * Makes a copy of this object. 727 * It creates a new object filling in the simple attributes. 728 * If the parameter deepcopy is true, it then fills all the 729 * association collections and sets the related objects to 730 * isNew=true. 731 * 732 * @param deepcopy whether to copy the associated objects. 733 */ 734 public TurbineUserGroupRole copy(boolean deepcopy) throws TorqueException 735 { 736 return copyInto(new TurbineUserGroupRole(), deepcopy); 737 } 738 739 /** 740 * Makes a copy of this object using connection. 741 * It creates a new object filling in the simple attributes. 742 * If the parameter deepcopy is true, it then fills all the 743 * association collections and sets the related objects to 744 * isNew=true. 745 * 746 * @param deepcopy whether to copy the associated objects. 747 * @param con the database connection to read associated objects. 748 */ 749 public TurbineUserGroupRole copy(boolean deepcopy, Connection con) throws TorqueException 750 { 751 return copyInto(new TurbineUserGroupRole(), deepcopy, con); 752 } 753 754 /** 755 * Fills the copyObj with the contents of this object. 756 * The associated objects are also copied and treated as new objects. 757 * 758 * @param copyObj the object to fill. 759 */ 760 protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj) throws TorqueException 761 { 762 return copyInto(copyObj, true); 763 } 764 765 766 /** 767 * Fills the copyObj with the contents of this object using connection. 768 * The associated objects are also copied and treated as new objects. 769 * 770 * @param copyObj the object to fill. 771 * @param con the database connection to read associated objects. 772 */ 773 protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, Connection con) throws TorqueException 774 { 775 return copyInto(copyObj, true, con); 776 } 777 778 /** 779 * Fills the copyObj with the contents of this object. 780 * If deepcopy is true, The associated objects are also copied 781 * and treated as new objects. 782 * 783 * @param copyObj the object to fill. 784 * @param deepcopy whether the associated objects should be copied. 785 */ 786 protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, boolean deepcopy) throws TorqueException 787 { 788 copyObj.setUserId(userId); 789 copyObj.setGroupId(groupId); 790 copyObj.setRoleId(roleId); 791 792 copyObj.setUserId( 0); 793 copyObj.setGroupId( 0); 794 copyObj.setRoleId( 0); 795 796 if (deepcopy) 797 { 798 } 799 return copyObj; 800 } 801 802 803 /** 804 * Fills the copyObj with the contents of this object using connection. 805 * If deepcopy is true, The associated objects are also copied 806 * and treated as new objects. 807 * 808 * @param copyObj the object to fill. 809 * @param deepcopy whether the associated objects should be copied. 810 * @param con the database connection to read associated objects. 811 */ 812 protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, boolean deepcopy, Connection con) throws TorqueException 813 { 814 copyObj.setUserId(userId); 815 copyObj.setGroupId(groupId); 816 copyObj.setRoleId(roleId); 817 818 copyObj.setUserId( 0); 819 copyObj.setGroupId( 0); 820 copyObj.setRoleId( 0); 821 822 if (deepcopy) 823 { 824 } 825 return copyObj; 826 } 827 828 829 830 /** 831 * returns a peer instance associated with this om. Since Peer classes 832 * are not to have any instance attributes, this method returns the 833 * same instance for all member of this class. The method could therefore 834 * be static, but this would prevent one from overriding the behavior. 835 */ 836 public TurbineUserGroupRolePeer getPeer() 837 { 838 return peer; 839 } 840 841 /** 842 * Retrieves the TableMap object related to this Table data without 843 * compiler warnings of using getPeer().getTableMap(). 844 * 845 * @return The associated TableMap object. 846 */ 847 public TableMap getTableMap() throws TorqueException 848 { 849 return TurbineUserGroupRolePeer.getTableMap(); 850 } 851 852 853 public String toString() 854 { 855 StringBuffer str = new StringBuffer(); 856 str.append("TurbineUserGroupRole:\n"); 857 str.append("UserId = ") 858 .append(getUserId()) 859 .append("\n"); 860 str.append("GroupId = ") 861 .append(getGroupId()) 862 .append("\n"); 863 str.append("RoleId = ") 864 .append(getRoleId()) 865 .append("\n"); 866 return(str.toString()); 867 } 868 }