1 package org.apache.turbine.services.security.torque.om;
2
3
4 import java.math.BigDecimal;
5 import java.sql.Connection;
6 import java.util.ArrayList;
7 import java.util.Collections;
8 import java.util.Date;
9 import java.util.List;
10
11 import org.apache.commons.lang.ObjectUtils;
12 import org.apache.torque.TorqueException;
13 import org.apache.torque.map.TableMap;
14 import org.apache.torque.om.BaseObject;
15 import org.apache.torque.om.ComboKey;
16 import org.apache.torque.om.DateKey;
17 import org.apache.torque.om.NumberKey;
18 import org.apache.torque.om.ObjectKey;
19 import org.apache.torque.om.SimpleKey;
20 import org.apache.torque.om.StringKey;
21 import org.apache.torque.om.Persistent;
22 import org.apache.torque.util.Criteria;
23 import org.apache.torque.util.Transaction;
24
25
26
27
28
29 /***
30 * This class was autogenerated by Torque on:
31 *
32 * [Tue Nov 04 15:53:51 CET 2008]
33 *
34 * You should not use this class directly. It should not even be
35 * extended all references should be to TurbineRolePermission
36 */
37 public abstract class BaseTurbineRolePermission extends BaseObject
38 {
39 /*** Serial version */
40 private static final long serialVersionUID = 1225810431540L;
41
42 /*** The Peer class */
43 private static final TurbineRolePermissionPeer peer =
44 new TurbineRolePermissionPeer();
45
46
47 /*** The value for the roleId field */
48 private int roleId;
49
50 /*** The value for the permissionId field */
51 private int permissionId;
52
53
54 /***
55 * Get the RoleId
56 *
57 * @return int
58 */
59 public int getRoleId()
60 {
61 return roleId;
62 }
63
64
65 /***
66 * Set the value of RoleId
67 *
68 * @param v new value
69 */
70 public void setRoleId(int v) throws TorqueException
71 {
72
73 if (this.roleId != v)
74 {
75 this.roleId = v;
76 setModified(true);
77 }
78
79
80 if (aTurbineRole != null && !(aTurbineRole.getRoleId() == v))
81 {
82 aTurbineRole = null;
83 }
84
85 }
86
87 /***
88 * Get the PermissionId
89 *
90 * @return int
91 */
92 public int getPermissionId()
93 {
94 return permissionId;
95 }
96
97
98 /***
99 * Set the value of PermissionId
100 *
101 * @param v new value
102 */
103 public void setPermissionId(int v) throws TorqueException
104 {
105
106 if (this.permissionId != v)
107 {
108 this.permissionId = v;
109 setModified(true);
110 }
111
112
113 if (aTurbinePermission != null && !(aTurbinePermission.getPermissionId() == v))
114 {
115 aTurbinePermission = null;
116 }
117
118 }
119
120
121
122
123
124 private TurbineRole aTurbineRole;
125
126 /***
127 * Declares an association between this object and a TurbineRole object
128 *
129 * @param v TurbineRole
130 * @throws TorqueException
131 */
132 public void setTurbineRole(TurbineRole v) throws TorqueException
133 {
134 if (v == null)
135 {
136 setRoleId( 0);
137 }
138 else
139 {
140 setRoleId(v.getRoleId());
141 }
142 aTurbineRole = v;
143 }
144
145
146 /***
147 * Returns the associated TurbineRole object.
148 * If it was not retrieved before, the object is retrieved from
149 * the database
150 *
151 * @return the associated TurbineRole object
152 * @throws TorqueException
153 */
154 public TurbineRole getTurbineRole()
155 throws TorqueException
156 {
157 if (aTurbineRole == null && (this.roleId != 0))
158 {
159 aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId));
160 }
161 return aTurbineRole;
162 }
163
164 /***
165 * Return the associated TurbineRole object
166 * If it was not retrieved before, the object is retrieved from
167 * the database using the passed connection
168 *
169 * @param connection the connection used to retrieve the associated object
170 * from the database, if it was not retrieved before
171 * @return the associated TurbineRole object
172 * @throws TorqueException
173 */
174 public TurbineRole getTurbineRole(Connection connection)
175 throws TorqueException
176 {
177 if (aTurbineRole == null && (this.roleId != 0))
178 {
179 aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId), connection);
180 }
181 return aTurbineRole;
182 }
183
184 /***
185 * Provides convenient way to set a relationship based on a
186 * ObjectKey, for example
187 * <code>bar.setFooKey(foo.getPrimaryKey())</code>
188 *
189 */
190 public void setTurbineRoleKey(ObjectKey key) throws TorqueException
191 {
192
193 setRoleId(((NumberKey) key).intValue());
194 }
195
196
197
198
199 private TurbinePermission aTurbinePermission;
200
201 /***
202 * Declares an association between this object and a TurbinePermission object
203 *
204 * @param v TurbinePermission
205 * @throws TorqueException
206 */
207 public void setTurbinePermission(TurbinePermission v) throws TorqueException
208 {
209 if (v == null)
210 {
211 setPermissionId( 0);
212 }
213 else
214 {
215 setPermissionId(v.getPermissionId());
216 }
217 aTurbinePermission = v;
218 }
219
220
221 /***
222 * Returns the associated TurbinePermission object.
223 * If it was not retrieved before, the object is retrieved from
224 * the database
225 *
226 * @return the associated TurbinePermission object
227 * @throws TorqueException
228 */
229 public TurbinePermission getTurbinePermission()
230 throws TorqueException
231 {
232 if (aTurbinePermission == null && (this.permissionId != 0))
233 {
234 aTurbinePermission = TurbinePermissionPeer.retrieveByPK(SimpleKey.keyFor(this.permissionId));
235 }
236 return aTurbinePermission;
237 }
238
239 /***
240 * Return the associated TurbinePermission object
241 * If it was not retrieved before, the object is retrieved from
242 * the database using the passed connection
243 *
244 * @param connection the connection used to retrieve the associated object
245 * from the database, if it was not retrieved before
246 * @return the associated TurbinePermission object
247 * @throws TorqueException
248 */
249 public TurbinePermission getTurbinePermission(Connection connection)
250 throws TorqueException
251 {
252 if (aTurbinePermission == null && (this.permissionId != 0))
253 {
254 aTurbinePermission = TurbinePermissionPeer.retrieveByPK(SimpleKey.keyFor(this.permissionId), connection);
255 }
256 return aTurbinePermission;
257 }
258
259 /***
260 * Provides convenient way to set a relationship based on a
261 * ObjectKey, for example
262 * <code>bar.setFooKey(foo.getPrimaryKey())</code>
263 *
264 */
265 public void setTurbinePermissionKey(ObjectKey key) throws TorqueException
266 {
267
268 setPermissionId(((NumberKey) key).intValue());
269 }
270
271
272 private static List fieldNames = null;
273
274 /***
275 * Generate a list of field names.
276 *
277 * @return a list of field names
278 */
279 public static synchronized List getFieldNames()
280 {
281 if (fieldNames == null)
282 {
283 fieldNames = new ArrayList();
284 fieldNames.add("RoleId");
285 fieldNames.add("PermissionId");
286 fieldNames = Collections.unmodifiableList(fieldNames);
287 }
288 return fieldNames;
289 }
290
291 /***
292 * Retrieves a field from the object by field (Java) name passed in as a String.
293 *
294 * @param name field name
295 * @return value
296 */
297 public Object getByName(String name)
298 {
299 if (name.equals("RoleId"))
300 {
301 return new Integer(getRoleId());
302 }
303 if (name.equals("PermissionId"))
304 {
305 return new Integer(getPermissionId());
306 }
307 return null;
308 }
309
310 /***
311 * Set a field in the object by field (Java) name.
312 *
313 * @param name field name
314 * @param value field value
315 * @return True if value was set, false if not (invalid name / protected field).
316 * @throws IllegalArgumentException if object type of value does not match field object type.
317 * @throws TorqueException If a problem occurs with the set[Field] method.
318 */
319 public boolean setByName(String name, Object value )
320 throws TorqueException, IllegalArgumentException
321 {
322 if (name.equals("RoleId"))
323 {
324 if (value == null || ! (Integer.class.isInstance(value)))
325 {
326 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
327 }
328 setRoleId(((Integer) value).intValue());
329 return true;
330 }
331 if (name.equals("PermissionId"))
332 {
333 if (value == null || ! (Integer.class.isInstance(value)))
334 {
335 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
336 }
337 setPermissionId(((Integer) value).intValue());
338 return true;
339 }
340 return false;
341 }
342
343 /***
344 * Retrieves a field from the object by name passed in
345 * as a String. The String must be one of the static
346 * Strings defined in this Class' Peer.
347 *
348 * @param name peer name
349 * @return value
350 */
351 public Object getByPeerName(String name)
352 {
353 if (name.equals(TurbineRolePermissionPeer.ROLE_ID))
354 {
355 return new Integer(getRoleId());
356 }
357 if (name.equals(TurbineRolePermissionPeer.PERMISSION_ID))
358 {
359 return new Integer(getPermissionId());
360 }
361 return null;
362 }
363
364 /***
365 * Set field values by Peer Field Name
366 *
367 * @param name field name
368 * @param value field value
369 * @return True if value was set, false if not (invalid name / protected field).
370 * @throws IllegalArgumentException if object type of value does not match field object type.
371 * @throws TorqueException If a problem occurs with the set[Field] method.
372 */
373 public boolean setByPeerName(String name, Object value)
374 throws TorqueException, IllegalArgumentException
375 {
376 if (TurbineRolePermissionPeer.ROLE_ID.equals(name))
377 {
378 return setByName("RoleId", value);
379 }
380 if (TurbineRolePermissionPeer.PERMISSION_ID.equals(name))
381 {
382 return setByName("PermissionId", value);
383 }
384 return false;
385 }
386
387 /***
388 * Retrieves a field from the object by Position as specified
389 * in the xml schema. Zero-based.
390 *
391 * @param pos position in xml schema
392 * @return value
393 */
394 public Object getByPosition(int pos)
395 {
396 if (pos == 0)
397 {
398 return new Integer(getRoleId());
399 }
400 if (pos == 1)
401 {
402 return new Integer(getPermissionId());
403 }
404 return null;
405 }
406
407 /***
408 * Set field values by its position (zero based) in the XML schema.
409 *
410 * @param position The field position
411 * @param value field value
412 * @return True if value was set, false if not (invalid position / protected field).
413 * @throws IllegalArgumentException if object type of value does not match field object type.
414 * @throws TorqueException If a problem occurs with the set[Field] method.
415 */
416 public boolean setByPosition(int position, Object value)
417 throws TorqueException, IllegalArgumentException
418 {
419 if (position == 0)
420 {
421 return setByName("RoleId", value);
422 }
423 if (position == 1)
424 {
425 return setByName("PermissionId", value);
426 }
427 return false;
428 }
429
430 /***
431 * Stores the object in the database. If the object is new,
432 * it inserts it; otherwise an update is performed.
433 *
434 * @throws Exception
435 */
436 public void save() throws Exception
437 {
438 save(TurbineRolePermissionPeer.DATABASE_NAME);
439 }
440
441 /***
442 * Stores the object in the database. If the object is new,
443 * it inserts it; otherwise an update is performed.
444 * Note: this code is here because the method body is
445 * auto-generated conditionally and therefore needs to be
446 * in this file instead of in the super class, BaseObject.
447 *
448 * @param dbName
449 * @throws TorqueException
450 */
451 public void save(String dbName) throws TorqueException
452 {
453 Connection con = null;
454 try
455 {
456 con = Transaction.begin(dbName);
457 save(con);
458 Transaction.commit(con);
459 }
460 catch(TorqueException e)
461 {
462 Transaction.safeRollback(con);
463 throw e;
464 }
465 }
466
467 /*** flag to prevent endless save loop, if this object is referenced
468 by another object which falls in this transaction. */
469 private boolean alreadyInSave = false;
470 /***
471 * Stores the object in the database. If the object is new,
472 * it inserts it; otherwise an update is performed. This method
473 * is meant to be used as part of a transaction, otherwise use
474 * the save() method and the connection details will be handled
475 * internally
476 *
477 * @param con
478 * @throws TorqueException
479 */
480 public void save(Connection con) throws TorqueException
481 {
482 if (!alreadyInSave)
483 {
484 alreadyInSave = true;
485
486
487
488
489 if (isModified())
490 {
491 if (isNew())
492 {
493 TurbineRolePermissionPeer.doInsert((TurbineRolePermission) this, con);
494 setNew(false);
495 }
496 else
497 {
498 TurbineRolePermissionPeer.doUpdate((TurbineRolePermission) this, con);
499 }
500 }
501
502 alreadyInSave = false;
503 }
504 }
505
506
507
508 private final SimpleKey[] pks = new SimpleKey[2];
509 private final ComboKey comboPK = new ComboKey(pks);
510
511 /***
512 * Set the PrimaryKey with an ObjectKey
513 *
514 * @param key
515 */
516 public void setPrimaryKey(ObjectKey key) throws TorqueException
517 {
518 SimpleKey[] keys = (SimpleKey[]) key.getValue();
519 setRoleId(((NumberKey)keys[0]).intValue());
520 setPermissionId(((NumberKey)keys[1]).intValue());
521 }
522
523 /***
524 * Set the PrimaryKey using SimpleKeys.
525 *
526 * @param roleId int
527 * @param permissionId int
528 */
529 public void setPrimaryKey( int roleId, int permissionId)
530 throws TorqueException
531 {
532 setRoleId(roleId);
533 setPermissionId(permissionId);
534 }
535
536 /***
537 * Set the PrimaryKey using a String.
538 */
539 public void setPrimaryKey(String key) throws TorqueException
540 {
541 setPrimaryKey(new ComboKey(key));
542 }
543
544 /***
545 * returns an id that differentiates this object from others
546 * of its class.
547 */
548 public ObjectKey getPrimaryKey()
549 {
550 pks[0] = SimpleKey.keyFor(getRoleId());
551 pks[1] = SimpleKey.keyFor(getPermissionId());
552 return comboPK;
553 }
554
555
556 /***
557 * Makes a copy of this object.
558 * It creates a new object filling in the simple attributes.
559 * It then fills all the association collections and sets the
560 * related objects to isNew=true.
561 */
562 public TurbineRolePermission copy() throws TorqueException
563 {
564 return copy(true);
565 }
566
567 /***
568 * Makes a copy of this object using connection.
569 * It creates a new object filling in the simple attributes.
570 * It then fills all the association collections and sets the
571 * related objects to isNew=true.
572 *
573 * @param con the database connection to read associated objects.
574 */
575 public TurbineRolePermission copy(Connection con) throws TorqueException
576 {
577 return copy(true, con);
578 }
579
580 /***
581 * Makes a copy of this object.
582 * It creates a new object filling in the simple attributes.
583 * If the parameter deepcopy is true, it then fills all the
584 * association collections and sets the related objects to
585 * isNew=true.
586 *
587 * @param deepcopy whether to copy the associated objects.
588 */
589 public TurbineRolePermission copy(boolean deepcopy) throws TorqueException
590 {
591 return copyInto(new TurbineRolePermission(), deepcopy);
592 }
593
594 /***
595 * Makes a copy of this object using connection.
596 * It creates a new object filling in the simple attributes.
597 * If the parameter deepcopy is true, it then fills all the
598 * association collections and sets the related objects to
599 * isNew=true.
600 *
601 * @param deepcopy whether to copy the associated objects.
602 * @param con the database connection to read associated objects.
603 */
604 public TurbineRolePermission copy(boolean deepcopy, Connection con) throws TorqueException
605 {
606 return copyInto(new TurbineRolePermission(), deepcopy, con);
607 }
608
609 /***
610 * Fills the copyObj with the contents of this object.
611 * The associated objects are also copied and treated as new objects.
612 *
613 * @param copyObj the object to fill.
614 */
615 protected TurbineRolePermission copyInto(TurbineRolePermission copyObj) throws TorqueException
616 {
617 return copyInto(copyObj, true);
618 }
619
620
621 /***
622 * Fills the copyObj with the contents of this object using connection.
623 * The associated objects are also copied and treated as new objects.
624 *
625 * @param copyObj the object to fill.
626 * @param con the database connection to read associated objects.
627 */
628 protected TurbineRolePermission copyInto(TurbineRolePermission copyObj, Connection con) throws TorqueException
629 {
630 return copyInto(copyObj, true, con);
631 }
632
633 /***
634 * Fills the copyObj with the contents of this object.
635 * If deepcopy is true, The associated objects are also copied
636 * and treated as new objects.
637 *
638 * @param copyObj the object to fill.
639 * @param deepcopy whether the associated objects should be copied.
640 */
641 protected TurbineRolePermission copyInto(TurbineRolePermission copyObj, boolean deepcopy) throws TorqueException
642 {
643 copyObj.setRoleId(roleId);
644 copyObj.setPermissionId(permissionId);
645
646 copyObj.setRoleId( 0);
647 copyObj.setPermissionId( 0);
648
649 if (deepcopy)
650 {
651 }
652 return copyObj;
653 }
654
655
656 /***
657 * Fills the copyObj with the contents of this object using connection.
658 * If deepcopy is true, The associated objects are also copied
659 * and treated as new objects.
660 *
661 * @param copyObj the object to fill.
662 * @param deepcopy whether the associated objects should be copied.
663 * @param con the database connection to read associated objects.
664 */
665 protected TurbineRolePermission copyInto(TurbineRolePermission copyObj, boolean deepcopy, Connection con) throws TorqueException
666 {
667 copyObj.setRoleId(roleId);
668 copyObj.setPermissionId(permissionId);
669
670 copyObj.setRoleId( 0);
671 copyObj.setPermissionId( 0);
672
673 if (deepcopy)
674 {
675 }
676 return copyObj;
677 }
678
679
680
681 /***
682 * returns a peer instance associated with this om. Since Peer classes
683 * are not to have any instance attributes, this method returns the
684 * same instance for all member of this class. The method could therefore
685 * be static, but this would prevent one from overriding the behavior.
686 */
687 public TurbineRolePermissionPeer getPeer()
688 {
689 return peer;
690 }
691
692 /***
693 * Retrieves the TableMap object related to this Table data without
694 * compiler warnings of using getPeer().getTableMap().
695 *
696 * @return The associated TableMap object.
697 */
698 public TableMap getTableMap() throws TorqueException
699 {
700 return TurbineRolePermissionPeer.getTableMap();
701 }
702
703
704 public String toString()
705 {
706 StringBuffer str = new StringBuffer();
707 str.append("TurbineRolePermission:\n");
708 str.append("RoleId = ")
709 .append(getRoleId())
710 .append("\n");
711 str.append("PermissionId = ")
712 .append(getPermissionId())
713 .append("\n");
714 return(str.toString());
715 }
716 }