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 TurbinePermission
36 */
37 public abstract class BaseTurbinePermission extends BaseObject
38 {
39 /*** Serial version */
40 private static final long serialVersionUID = 1225810431540L;
41
42 /*** The Peer class */
43 private static final TurbinePermissionPeer peer =
44 new TurbinePermissionPeer();
45
46
47 /*** The value for the permissionId field */
48 private int permissionId;
49
50 /*** The value for the name field */
51 private String name;
52
53
54 /***
55 * Get the PermissionId
56 *
57 * @return int
58 */
59 public int getPermissionId()
60 {
61 return permissionId;
62 }
63
64
65 /***
66 * Set the value of PermissionId
67 *
68 * @param v new value
69 */
70 public void setPermissionId(int v) throws TorqueException
71 {
72
73 if (this.permissionId != v)
74 {
75 this.permissionId = v;
76 setModified(true);
77 }
78
79
80
81
82 if (collTurbineRolePermissions != null)
83 {
84 for (int i = 0; i < collTurbineRolePermissions.size(); i++)
85 {
86 ((TurbineRolePermission) collTurbineRolePermissions.get(i))
87 .setPermissionId(v);
88 }
89 }
90 }
91
92 /***
93 * Get the Name
94 *
95 * @return String
96 */
97 public String getName()
98 {
99 return name;
100 }
101
102
103 /***
104 * Set the value of Name
105 *
106 * @param v new value
107 */
108 public void setName(String v)
109 {
110
111 if (!ObjectUtils.equals(this.name, v))
112 {
113 this.name = v;
114 setModified(true);
115 }
116
117
118 }
119
120
121
122
123 /***
124 * Collection to store aggregation of collTurbineRolePermissions
125 */
126 protected List collTurbineRolePermissions;
127
128 /***
129 * Temporary storage of collTurbineRolePermissions to save a possible db hit in
130 * the event objects are add to the collection, but the
131 * complete collection is never requested.
132 */
133 protected void initTurbineRolePermissions()
134 {
135 if (collTurbineRolePermissions == null)
136 {
137 collTurbineRolePermissions = new ArrayList();
138 }
139 }
140
141
142 /***
143 * Method called to associate a TurbineRolePermission object to this object
144 * through the TurbineRolePermission foreign key attribute
145 *
146 * @param l TurbineRolePermission
147 * @throws TorqueException
148 */
149 public void addTurbineRolePermission(TurbineRolePermission l) throws TorqueException
150 {
151 getTurbineRolePermissions().add(l);
152 l.setTurbinePermission((TurbinePermission) this);
153 }
154
155 /***
156 * Method called to associate a TurbineRolePermission object to this object
157 * through the TurbineRolePermission foreign key attribute using connection.
158 *
159 * @param l TurbineRolePermission
160 * @throws TorqueException
161 */
162 public void addTurbineRolePermission(TurbineRolePermission l, Connection con) throws TorqueException
163 {
164 getTurbineRolePermissions(con).add(l);
165 l.setTurbinePermission((TurbinePermission) this);
166 }
167
168 /***
169 * The criteria used to select the current contents of collTurbineRolePermissions
170 */
171 private Criteria lastTurbineRolePermissionsCriteria = null;
172
173 /***
174 * If this collection has already been initialized, returns
175 * the collection. Otherwise returns the results of
176 * getTurbineRolePermissions(new Criteria())
177 *
178 * @return the collection of associated objects
179 * @throws TorqueException
180 */
181 public List getTurbineRolePermissions()
182 throws TorqueException
183 {
184 if (collTurbineRolePermissions == null)
185 {
186 collTurbineRolePermissions = getTurbineRolePermissions(new Criteria(10));
187 }
188 return collTurbineRolePermissions;
189 }
190
191 /***
192 * If this collection has already been initialized with
193 * an identical criteria, it returns the collection.
194 * Otherwise if this TurbinePermission has previously
195 * been saved, it will retrieve related TurbineRolePermissions from storage.
196 * If this TurbinePermission is new, it will return
197 * an empty collection or the current collection, the criteria
198 * is ignored on a new object.
199 *
200 * @throws TorqueException
201 */
202 public List getTurbineRolePermissions(Criteria criteria) throws TorqueException
203 {
204 if (collTurbineRolePermissions == null)
205 {
206 if (isNew())
207 {
208 collTurbineRolePermissions = new ArrayList();
209 }
210 else
211 {
212 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId() );
213 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelect(criteria);
214 }
215 }
216 else
217 {
218
219 if (!isNew())
220 {
221
222
223
224 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
225 if (!lastTurbineRolePermissionsCriteria.equals(criteria))
226 {
227 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelect(criteria);
228 }
229 }
230 }
231 lastTurbineRolePermissionsCriteria = criteria;
232
233 return collTurbineRolePermissions;
234 }
235
236 /***
237 * If this collection has already been initialized, returns
238 * the collection. Otherwise returns the results of
239 * getTurbineRolePermissions(new Criteria(),Connection)
240 * This method takes in the Connection also as input so that
241 * referenced objects can also be obtained using a Connection
242 * that is taken as input
243 */
244 public List getTurbineRolePermissions(Connection con) throws TorqueException
245 {
246 if (collTurbineRolePermissions == null)
247 {
248 collTurbineRolePermissions = getTurbineRolePermissions(new Criteria(10), con);
249 }
250 return collTurbineRolePermissions;
251 }
252
253 /***
254 * If this collection has already been initialized with
255 * an identical criteria, it returns the collection.
256 * Otherwise if this TurbinePermission has previously
257 * been saved, it will retrieve related TurbineRolePermissions from storage.
258 * If this TurbinePermission is new, it will return
259 * an empty collection or the current collection, the criteria
260 * is ignored on a new object.
261 * This method takes in the Connection also as input so that
262 * referenced objects can also be obtained using a Connection
263 * that is taken as input
264 */
265 public List getTurbineRolePermissions(Criteria criteria, Connection con)
266 throws TorqueException
267 {
268 if (collTurbineRolePermissions == null)
269 {
270 if (isNew())
271 {
272 collTurbineRolePermissions = new ArrayList();
273 }
274 else
275 {
276 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
277 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelect(criteria, con);
278 }
279 }
280 else
281 {
282
283 if (!isNew())
284 {
285
286
287
288 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
289 if (!lastTurbineRolePermissionsCriteria.equals(criteria))
290 {
291 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelect(criteria, con);
292 }
293 }
294 }
295 lastTurbineRolePermissionsCriteria = criteria;
296
297 return collTurbineRolePermissions;
298 }
299
300
301
302
303
304
305
306
307
308
309
310 /***
311 * If this collection has already been initialized with
312 * an identical criteria, it returns the collection.
313 * Otherwise if this TurbinePermission is new, it will return
314 * an empty collection; or if this TurbinePermission has previously
315 * been saved, it will retrieve related TurbineRolePermissions from storage.
316 *
317 * This method is protected by default in order to keep the public
318 * api reasonable. You can provide public methods for those you
319 * actually need in TurbinePermission.
320 */
321 protected List getTurbineRolePermissionsJoinTurbineRole(Criteria criteria)
322 throws TorqueException
323 {
324 if (collTurbineRolePermissions == null)
325 {
326 if (isNew())
327 {
328 collTurbineRolePermissions = new ArrayList();
329 }
330 else
331 {
332 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
333 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelectJoinTurbineRole(criteria);
334 }
335 }
336 else
337 {
338
339
340
341 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
342 if (!lastTurbineRolePermissionsCriteria.equals(criteria))
343 {
344 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelectJoinTurbineRole(criteria);
345 }
346 }
347 lastTurbineRolePermissionsCriteria = criteria;
348
349 return collTurbineRolePermissions;
350 }
351
352
353
354
355
356
357
358
359
360 /***
361 * If this collection has already been initialized with
362 * an identical criteria, it returns the collection.
363 * Otherwise if this TurbinePermission is new, it will return
364 * an empty collection; or if this TurbinePermission has previously
365 * been saved, it will retrieve related TurbineRolePermissions from storage.
366 *
367 * This method is protected by default in order to keep the public
368 * api reasonable. You can provide public methods for those you
369 * actually need in TurbinePermission.
370 */
371 protected List getTurbineRolePermissionsJoinTurbinePermission(Criteria criteria)
372 throws TorqueException
373 {
374 if (collTurbineRolePermissions == null)
375 {
376 if (isNew())
377 {
378 collTurbineRolePermissions = new ArrayList();
379 }
380 else
381 {
382 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
383 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelectJoinTurbinePermission(criteria);
384 }
385 }
386 else
387 {
388
389
390
391 criteria.add(TurbineRolePermissionPeer.PERMISSION_ID, getPermissionId());
392 if (!lastTurbineRolePermissionsCriteria.equals(criteria))
393 {
394 collTurbineRolePermissions = TurbineRolePermissionPeer.doSelectJoinTurbinePermission(criteria);
395 }
396 }
397 lastTurbineRolePermissionsCriteria = criteria;
398
399 return collTurbineRolePermissions;
400 }
401
402
403
404
405 private static List fieldNames = null;
406
407 /***
408 * Generate a list of field names.
409 *
410 * @return a list of field names
411 */
412 public static synchronized List getFieldNames()
413 {
414 if (fieldNames == null)
415 {
416 fieldNames = new ArrayList();
417 fieldNames.add("PermissionId");
418 fieldNames.add("Name");
419 fieldNames = Collections.unmodifiableList(fieldNames);
420 }
421 return fieldNames;
422 }
423
424 /***
425 * Retrieves a field from the object by field (Java) name passed in as a String.
426 *
427 * @param name field name
428 * @return value
429 */
430 public Object getByName(String name)
431 {
432 if (name.equals("PermissionId"))
433 {
434 return new Integer(getPermissionId());
435 }
436 if (name.equals("Name"))
437 {
438 return getName();
439 }
440 return null;
441 }
442
443 /***
444 * Set a field in the object by field (Java) name.
445 *
446 * @param name field name
447 * @param value field value
448 * @return True if value was set, false if not (invalid name / protected field).
449 * @throws IllegalArgumentException if object type of value does not match field object type.
450 * @throws TorqueException If a problem occurs with the set[Field] method.
451 */
452 public boolean setByName(String name, Object value )
453 throws TorqueException, IllegalArgumentException
454 {
455 if (name.equals("PermissionId"))
456 {
457 if (value == null || ! (Integer.class.isInstance(value)))
458 {
459 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
460 }
461 setPermissionId(((Integer) value).intValue());
462 return true;
463 }
464 if (name.equals("Name"))
465 {
466
467 if (value != null && ! String.class.isInstance(value))
468 {
469 throw new IllegalArgumentException("Invalid type of object specified for value in setByName");
470 }
471 setName((String) value);
472 return true;
473 }
474 return false;
475 }
476
477 /***
478 * Retrieves a field from the object by name passed in
479 * as a String. The String must be one of the static
480 * Strings defined in this Class' Peer.
481 *
482 * @param name peer name
483 * @return value
484 */
485 public Object getByPeerName(String name)
486 {
487 if (name.equals(TurbinePermissionPeer.PERMISSION_ID))
488 {
489 return new Integer(getPermissionId());
490 }
491 if (name.equals(TurbinePermissionPeer.PERMISSION_NAME))
492 {
493 return getName();
494 }
495 return null;
496 }
497
498 /***
499 * Set field values by Peer Field Name
500 *
501 * @param name field name
502 * @param value field value
503 * @return True if value was set, false if not (invalid name / protected field).
504 * @throws IllegalArgumentException if object type of value does not match field object type.
505 * @throws TorqueException If a problem occurs with the set[Field] method.
506 */
507 public boolean setByPeerName(String name, Object value)
508 throws TorqueException, IllegalArgumentException
509 {
510 if (TurbinePermissionPeer.PERMISSION_ID.equals(name))
511 {
512 return setByName("PermissionId", value);
513 }
514 if (TurbinePermissionPeer.PERMISSION_NAME.equals(name))
515 {
516 return setByName("Name", value);
517 }
518 return false;
519 }
520
521 /***
522 * Retrieves a field from the object by Position as specified
523 * in the xml schema. Zero-based.
524 *
525 * @param pos position in xml schema
526 * @return value
527 */
528 public Object getByPosition(int pos)
529 {
530 if (pos == 0)
531 {
532 return new Integer(getPermissionId());
533 }
534 if (pos == 1)
535 {
536 return getName();
537 }
538 return null;
539 }
540
541 /***
542 * Set field values by its position (zero based) in the XML schema.
543 *
544 * @param position The field position
545 * @param value field value
546 * @return True if value was set, false if not (invalid position / protected field).
547 * @throws IllegalArgumentException if object type of value does not match field object type.
548 * @throws TorqueException If a problem occurs with the set[Field] method.
549 */
550 public boolean setByPosition(int position, Object value)
551 throws TorqueException, IllegalArgumentException
552 {
553 if (position == 0)
554 {
555 return setByName("PermissionId", value);
556 }
557 if (position == 1)
558 {
559 return setByName("Name", value);
560 }
561 return false;
562 }
563
564 /***
565 * Stores the object in the database. If the object is new,
566 * it inserts it; otherwise an update is performed.
567 *
568 * @throws Exception
569 */
570 public void save() throws Exception
571 {
572 save(TurbinePermissionPeer.DATABASE_NAME);
573 }
574
575 /***
576 * Stores the object in the database. If the object is new,
577 * it inserts it; otherwise an update is performed.
578 * Note: this code is here because the method body is
579 * auto-generated conditionally and therefore needs to be
580 * in this file instead of in the super class, BaseObject.
581 *
582 * @param dbName
583 * @throws TorqueException
584 */
585 public void save(String dbName) throws TorqueException
586 {
587 Connection con = null;
588 try
589 {
590 con = Transaction.begin(dbName);
591 save(con);
592 Transaction.commit(con);
593 }
594 catch(TorqueException e)
595 {
596 Transaction.safeRollback(con);
597 throw e;
598 }
599 }
600
601 /*** flag to prevent endless save loop, if this object is referenced
602 by another object which falls in this transaction. */
603 private boolean alreadyInSave = false;
604 /***
605 * Stores the object in the database. If the object is new,
606 * it inserts it; otherwise an update is performed. This method
607 * is meant to be used as part of a transaction, otherwise use
608 * the save() method and the connection details will be handled
609 * internally
610 *
611 * @param con
612 * @throws TorqueException
613 */
614 public void save(Connection con) throws TorqueException
615 {
616 if (!alreadyInSave)
617 {
618 alreadyInSave = true;
619
620
621
622
623 if (isModified())
624 {
625 if (isNew())
626 {
627 TurbinePermissionPeer.doInsert((TurbinePermission) this, con);
628 setNew(false);
629 }
630 else
631 {
632 TurbinePermissionPeer.doUpdate((TurbinePermission) this, con);
633 }
634 }
635
636
637 if (collTurbineRolePermissions != null)
638 {
639 for (int i = 0; i < collTurbineRolePermissions.size(); i++)
640 {
641 ((TurbineRolePermission) collTurbineRolePermissions.get(i)).save(con);
642 }
643 }
644 alreadyInSave = false;
645 }
646 }
647
648
649 /***
650 * Set the PrimaryKey using ObjectKey.
651 *
652 * @param key permissionId ObjectKey
653 */
654 public void setPrimaryKey(ObjectKey key)
655 throws TorqueException
656 {
657 setPermissionId(((NumberKey) key).intValue());
658 }
659
660 /***
661 * Set the PrimaryKey using a String.
662 *
663 * @param key
664 */
665 public void setPrimaryKey(String key) throws TorqueException
666 {
667 setPermissionId(Integer.parseInt(key));
668 }
669
670
671 /***
672 * returns an id that differentiates this object from others
673 * of its class.
674 */
675 public ObjectKey getPrimaryKey()
676 {
677 return SimpleKey.keyFor(getPermissionId());
678 }
679
680
681 /***
682 * Makes a copy of this object.
683 * It creates a new object filling in the simple attributes.
684 * It then fills all the association collections and sets the
685 * related objects to isNew=true.
686 */
687 public TurbinePermission copy() throws TorqueException
688 {
689 return copy(true);
690 }
691
692 /***
693 * Makes a copy of this object using connection.
694 * It creates a new object filling in the simple attributes.
695 * It then fills all the association collections and sets the
696 * related objects to isNew=true.
697 *
698 * @param con the database connection to read associated objects.
699 */
700 public TurbinePermission copy(Connection con) throws TorqueException
701 {
702 return copy(true, con);
703 }
704
705 /***
706 * Makes a copy of this object.
707 * It creates a new object filling in the simple attributes.
708 * If the parameter deepcopy is true, it then fills all the
709 * association collections and sets the related objects to
710 * isNew=true.
711 *
712 * @param deepcopy whether to copy the associated objects.
713 */
714 public TurbinePermission copy(boolean deepcopy) throws TorqueException
715 {
716 return copyInto(new TurbinePermission(), deepcopy);
717 }
718
719 /***
720 * Makes a copy of this object using connection.
721 * It creates a new object filling in the simple attributes.
722 * If the parameter deepcopy is true, it then fills all the
723 * association collections and sets the related objects to
724 * isNew=true.
725 *
726 * @param deepcopy whether to copy the associated objects.
727 * @param con the database connection to read associated objects.
728 */
729 public TurbinePermission copy(boolean deepcopy, Connection con) throws TorqueException
730 {
731 return copyInto(new TurbinePermission(), deepcopy, con);
732 }
733
734 /***
735 * Fills the copyObj with the contents of this object.
736 * The associated objects are also copied and treated as new objects.
737 *
738 * @param copyObj the object to fill.
739 */
740 protected TurbinePermission copyInto(TurbinePermission copyObj) throws TorqueException
741 {
742 return copyInto(copyObj, true);
743 }
744
745
746 /***
747 * Fills the copyObj with the contents of this object using connection.
748 * The associated objects are also copied and treated as new objects.
749 *
750 * @param copyObj the object to fill.
751 * @param con the database connection to read associated objects.
752 */
753 protected TurbinePermission copyInto(TurbinePermission copyObj, Connection con) throws TorqueException
754 {
755 return copyInto(copyObj, true, con);
756 }
757
758 /***
759 * Fills the copyObj with the contents of this object.
760 * If deepcopy is true, The associated objects are also copied
761 * and treated as new objects.
762 *
763 * @param copyObj the object to fill.
764 * @param deepcopy whether the associated objects should be copied.
765 */
766 protected TurbinePermission copyInto(TurbinePermission copyObj, boolean deepcopy) throws TorqueException
767 {
768 copyObj.setPermissionId(permissionId);
769 copyObj.setName(name);
770
771 copyObj.setPermissionId( 0);
772
773 if (deepcopy)
774 {
775
776
777 List vTurbineRolePermissions = getTurbineRolePermissions();
778 if (vTurbineRolePermissions != null)
779 {
780 for (int i = 0; i < vTurbineRolePermissions.size(); i++)
781 {
782 TurbineRolePermission obj = (TurbineRolePermission) vTurbineRolePermissions.get(i);
783 copyObj.addTurbineRolePermission(obj.copy());
784 }
785 }
786 else
787 {
788 copyObj.collTurbineRolePermissions = null;
789 }
790 }
791 return copyObj;
792 }
793
794
795 /***
796 * Fills the copyObj with the contents of this object using connection.
797 * If deepcopy is true, The associated objects are also copied
798 * and treated as new objects.
799 *
800 * @param copyObj the object to fill.
801 * @param deepcopy whether the associated objects should be copied.
802 * @param con the database connection to read associated objects.
803 */
804 protected TurbinePermission copyInto(TurbinePermission copyObj, boolean deepcopy, Connection con) throws TorqueException
805 {
806 copyObj.setPermissionId(permissionId);
807 copyObj.setName(name);
808
809 copyObj.setPermissionId( 0);
810
811 if (deepcopy)
812 {
813
814
815 List vTurbineRolePermissions = getTurbineRolePermissions(con);
816 if (vTurbineRolePermissions != null)
817 {
818 for (int i = 0; i < vTurbineRolePermissions.size(); i++)
819 {
820 TurbineRolePermission obj = (TurbineRolePermission) vTurbineRolePermissions.get(i);
821 copyObj.addTurbineRolePermission(obj.copy(con), con);
822 }
823 }
824 else
825 {
826 copyObj.collTurbineRolePermissions = null;
827 }
828 }
829 return copyObj;
830 }
831
832
833
834 /***
835 * returns a peer instance associated with this om. Since Peer classes
836 * are not to have any instance attributes, this method returns the
837 * same instance for all member of this class. The method could therefore
838 * be static, but this would prevent one from overriding the behavior.
839 */
840 public TurbinePermissionPeer getPeer()
841 {
842 return peer;
843 }
844
845 /***
846 * Retrieves the TableMap object related to this Table data without
847 * compiler warnings of using getPeer().getTableMap().
848 *
849 * @return The associated TableMap object.
850 */
851 public TableMap getTableMap() throws TorqueException
852 {
853 return TurbinePermissionPeer.getTableMap();
854 }
855
856
857 public String toString()
858 {
859 StringBuffer str = new StringBuffer();
860 str.append("TurbinePermission:\n");
861 str.append("PermissionId = ")
862 .append(getPermissionId())
863 .append("\n");
864 str.append("Name = ")
865 .append(getName())
866 .append("\n");
867 return(str.toString());
868 }
869 }