KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tigris > scarab > om > BaseRAttributeAttributeGroup


1 package org.tigris.scarab.om;
2
3
4 import java.math.BigDecimal JavaDoc;
5 import java.sql.Connection JavaDoc;
6 import java.util.ArrayList JavaDoc;
7 import java.util.Collections JavaDoc;
8 import java.util.Date JavaDoc;
9 import java.util.List JavaDoc;
10
11 import org.apache.commons.lang.ObjectUtils;
12 import org.apache.fulcrum.intake.Retrievable;
13 import org.apache.torque.TorqueException;
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  * You should not use this class directly. It should not even be
30  * extended all references should be to RAttributeAttributeGroup
31  */

32 public abstract class BaseRAttributeAttributeGroup extends BaseObject
33     implements org.apache.fulcrum.intake.Retrievable
34 {
35     /** The Peer class */
36     private static final RAttributeAttributeGroupPeer peer =
37         new RAttributeAttributeGroupPeer();
38
39         
40     /** The value for the groupId field */
41     private Integer JavaDoc groupId;
42       
43     /** The value for the attributeId field */
44     private Integer JavaDoc attributeId;
45                                           
46     /** The value for the order field */
47     private int order = -1;
48   
49     
50     /**
51      * Get the GroupId
52      *
53      * @return Integer
54      */

55     public Integer JavaDoc getGroupId()
56     {
57         return groupId;
58     }
59
60                               
61     /**
62      * Set the value of GroupId
63      *
64      * @param v new value
65      */

66     public void setGroupId(Integer JavaDoc v) throws TorqueException
67     {
68     
69                   if (!ObjectUtils.equals(this.groupId, v))
70               {
71             this.groupId = v;
72             setModified(true);
73         }
74     
75                                   
76                 if (aAttributeGroup != null && !ObjectUtils.equals(aAttributeGroup.getAttributeGroupId(), v))
77                 {
78             aAttributeGroup = null;
79         }
80       
81               }
82   
83     /**
84      * Get the AttributeId
85      *
86      * @return Integer
87      */

88     public Integer JavaDoc getAttributeId()
89     {
90         return attributeId;
91     }
92
93                               
94     /**
95      * Set the value of AttributeId
96      *
97      * @param v new value
98      */

99     public void setAttributeId(Integer JavaDoc v) throws TorqueException
100     {
101     
102                   if (!ObjectUtils.equals(this.attributeId, v))
103               {
104             this.attributeId = v;
105             setModified(true);
106         }
107     
108                                   
109                 if (aAttribute != null && !ObjectUtils.equals(aAttribute.getAttributeId(), v))
110                 {
111             aAttribute = null;
112         }
113       
114               }
115   
116     /**
117      * Get the Order
118      *
119      * @return int
120      */

121     public int getOrder()
122     {
123         return order;
124     }
125
126                         
127     /**
128      * Set the value of Order
129      *
130      * @param v new value
131      */

132     public void setOrder(int v)
133     {
134     
135                   if (this.order != v)
136               {
137             this.order = v;
138             setModified(true);
139         }
140     
141           
142               }
143   
144       
145         
146                   
147         private Attribute aAttribute;
148
149     /**
150      * Declares an association between this object and a Attribute object
151      *
152      * @param v Attribute
153      * @throws TorqueException
154      */

155     public void setAttribute(Attribute v) throws TorqueException
156     {
157             if (v == null)
158         {
159                   setAttributeId((Integer JavaDoc) null);
160               }
161         else
162         {
163             setAttributeId(v.getAttributeId());
164         }
165             aAttribute = v;
166     }
167
168                         
169     /**
170      * Get the associated Attribute object
171      *
172      * @return the associated Attribute object
173      * @throws TorqueException
174      */

175     public Attribute getAttribute() throws TorqueException
176     {
177         if ( !ObjectUtils.equals(getAttributeId(), null) )
178         {
179                 return AttributeManager.getInstance(SimpleKey.keyFor(getAttributeId()));
180             }
181         return aAttribute;
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 setAttributeKey(ObjectKey key) throws TorqueException
191     {
192     
193                     setAttributeId(new Integer JavaDoc(((NumberKey) key).intValue()));
194               }
195   
196         
197                   
198         private AttributeGroup aAttributeGroup;
199
200     /**
201      * Declares an association between this object and a AttributeGroup object
202      *
203      * @param v AttributeGroup
204      * @throws TorqueException
205      */

206     public void setAttributeGroup(AttributeGroup v) throws TorqueException
207     {
208             if (v == null)
209         {
210                   setGroupId((Integer JavaDoc) null);
211               }
212         else
213         {
214             setGroupId(v.getAttributeGroupId());
215         }
216             aAttributeGroup = v;
217     }
218
219                         
220     /**
221      * Get the associated AttributeGroup object
222      *
223      * @return the associated AttributeGroup object
224      * @throws TorqueException
225      */

226     public AttributeGroup getAttributeGroup() throws TorqueException
227     {
228         if ( !ObjectUtils.equals(getGroupId(), null) )
229         {
230                 return AttributeGroupManager.getInstance(SimpleKey.keyFor(getGroupId()));
231             }
232         return aAttributeGroup;
233     }
234
235     /**
236      * Provides convenient way to set a relationship based on a
237      * ObjectKey, for example
238      * <code>bar.setFooKey(foo.getPrimaryKey())</code>
239      *
240          */

241     public void setAttributeGroupKey(ObjectKey key) throws TorqueException
242     {
243     
244                     setGroupId(new Integer JavaDoc(((NumberKey) key).intValue()));
245               }
246      
247                 
248     private static List JavaDoc fieldNames = null;
249
250     /**
251      * Generate a list of field names.
252      *
253      * @return a list of field names
254      */

255     public static synchronized List JavaDoc getFieldNames()
256     {
257         if (fieldNames == null)
258         {
259             fieldNames = new ArrayList JavaDoc();
260               fieldNames.add("GroupId");
261               fieldNames.add("AttributeId");
262               fieldNames.add("Order");
263               fieldNames = Collections.unmodifiableList(fieldNames);
264         }
265         return fieldNames;
266     }
267
268     /**
269      * Retrieves a field from the object by name passed in as a String.
270      *
271      * @param name field name
272      * @return value
273      */

274     public Object JavaDoc getByName(String JavaDoc name)
275     {
276           if (name.equals("GroupId"))
277         {
278                 return getGroupId();
279             }
280           if (name.equals("AttributeId"))
281         {
282                 return getAttributeId();
283             }
284           if (name.equals("Order"))
285         {
286                 return new Integer JavaDoc(getOrder());
287             }
288           return null;
289     }
290     
291     /**
292      * Retrieves a field from the object by name passed in
293      * as a String. The String must be one of the static
294      * Strings defined in this Class' Peer.
295      *
296      * @param name peer name
297      * @return value
298      */

299     public Object JavaDoc getByPeerName(String JavaDoc name)
300     {
301           if (name.equals(RAttributeAttributeGroupPeer.GROUP_ID))
302         {
303                 return getGroupId();
304             }
305           if (name.equals(RAttributeAttributeGroupPeer.ATTRIBUTE_ID))
306         {
307                 return getAttributeId();
308             }
309           if (name.equals(RAttributeAttributeGroupPeer.PREFERRED_ORDER))
310         {
311                 return new Integer JavaDoc(getOrder());
312             }
313           return null;
314     }
315
316     /**
317      * Retrieves a field from the object by Position as specified
318      * in the xml schema. Zero-based.
319      *
320      * @param pos position in xml schema
321      * @return value
322      */

323     public Object JavaDoc getByPosition(int pos)
324     {
325             if (pos == 0)
326         {
327                 return getGroupId();
328             }
329               if (pos == 1)
330         {
331                 return getAttributeId();
332             }
333               if (pos == 2)
334         {
335                 return new Integer JavaDoc(getOrder());
336             }
337               return null;
338     }
339      
340     /**
341      * Stores the object in the database. If the object is new,
342      * it inserts it; otherwise an update is performed.
343      *
344      * @throws Exception
345      */

346     public void save() throws Exception JavaDoc
347     {
348           save(RAttributeAttributeGroupPeer.getMapBuilder()
349                 .getDatabaseMap().getName());
350       }
351
352     /**
353      * Stores the object in the database. If the object is new,
354      * it inserts it; otherwise an update is performed.
355        * Note: this code is here because the method body is
356      * auto-generated conditionally and therefore needs to be
357      * in this file instead of in the super class, BaseObject.
358        *
359      * @param dbName
360      * @throws TorqueException
361      */

362     public void save(String JavaDoc dbName) throws TorqueException
363     {
364         Connection JavaDoc con = null;
365           try
366         {
367             con = Transaction.begin(dbName);
368             save(con);
369             Transaction.commit(con);
370         }
371         catch(TorqueException e)
372         {
373             Transaction.safeRollback(con);
374             throw e;
375         }
376       }
377
378       /** flag to prevent endless save loop, if this object is referenced
379         by another object which falls in this transaction. */

380     private boolean alreadyInSave = false;
381       /**
382      * Stores the object in the database. If the object is new,
383      * it inserts it; otherwise an update is performed. This method
384      * is meant to be used as part of a transaction, otherwise use
385      * the save() method and the connection details will be handled
386      * internally
387      *
388      * @param con
389      * @throws TorqueException
390      */

391     public void save(Connection JavaDoc con) throws TorqueException
392     {
393           if (!alreadyInSave)
394         {
395             alreadyInSave = true;
396
397
398   
399             // If this object has been modified, then save it to the database.
400
if (isModified())
401             {
402                 if (isNew())
403                 {
404                     RAttributeAttributeGroupPeer.doInsert((RAttributeAttributeGroup)this, con);
405                     setNew(false);
406                 }
407                 else
408                 {
409                     RAttributeAttributeGroupPeer.doUpdate((RAttributeAttributeGroup)this, con);
410                 }
411
412                       if (isCacheOnSave())
413                 {
414                     RAttributeAttributeGroupManager.putInstance(this);
415                 }
416               }
417
418                       alreadyInSave = false;
419         }
420       }
421
422     /**
423      * Specify whether to cache the object after saving to the db.
424      * This method returns false
425      */

426     protected boolean isCacheOnSave()
427     {
428         return true;
429     }
430
431                                               
432   
433     private final SimpleKey[] pks = new SimpleKey[2];
434     private final ComboKey comboPK = new ComboKey(pks);
435
436     /**
437      * Set the PrimaryKey with an ObjectKey
438      *
439      * @param key
440      */

441     public void setPrimaryKey(ObjectKey key) throws TorqueException
442     {
443         SimpleKey[] keys = (SimpleKey[]) key.getValue();
444         SimpleKey tmpKey = null;
445                       setGroupId(new Integer JavaDoc(((NumberKey)keys[0]).intValue()));
446                         setAttributeId(new Integer JavaDoc(((NumberKey)keys[1]).intValue()));
447               }
448
449     /**
450      * Set the PrimaryKey using SimpleKeys.
451      *
452          * @param groupId Integer
453          * @param attributeId Integer
454          */

455     public void setPrimaryKey( Integer JavaDoc groupId, Integer JavaDoc attributeId)
456         throws TorqueException
457     {
458             setGroupId(groupId);
459             setAttributeId(attributeId);
460         }
461
462     /**
463      * Set the PrimaryKey using a String.
464      */

465     public void setPrimaryKey(String JavaDoc key) throws TorqueException
466     {
467         setPrimaryKey(new ComboKey(key));
468     }
469   
470     /**
471      * returns an id that differentiates this object from others
472      * of its class.
473      */

474     public ObjectKey getPrimaryKey()
475     {
476               pks[0] = SimpleKey.keyFor(getGroupId());
477                   pks[1] = SimpleKey.keyFor(getAttributeId());
478                   return comboPK;
479       }
480  
481     /**
482      * get an id that differentiates this object from others
483      * of its class.
484      */

485     public String JavaDoc getQueryKey()
486     {
487         if (getPrimaryKey() == null)
488         {
489             return "";
490         }
491         else
492         {
493             return getPrimaryKey().toString();
494         }
495     }
496
497     /**
498      * set an id that differentiates this object from others
499      * of its class.
500      */

501     public void setQueryKey(String JavaDoc key)
502         throws TorqueException
503     {
504         setPrimaryKey(key);
505     }
506
507     /**
508      * Makes a copy of this object.
509      * It creates a new object filling in the simple attributes.
510        * It then fills all the association collections and sets the
511      * related objects to isNew=true.
512        */

513       public RAttributeAttributeGroup copy() throws TorqueException
514     {
515         RAttributeAttributeGroup copyObj = new RAttributeAttributeGroup();
516             copyObj.setGroupId(groupId);
517           copyObj.setAttributeId(attributeId);
518           copyObj.setOrder(order);
519   
520                       copyObj.setGroupId((Integer JavaDoc)null);
521                                 copyObj.setAttributeId((Integer JavaDoc)null);
522                   
523                 return copyObj;
524     }
525
526     /**
527      * returns a peer instance associated with this om. Since Peer classes
528      * are not to have any instance attributes, this method returns the
529      * same instance for all member of this class. The method could therefore
530      * be static, but this would prevent one from overriding the behavior.
531      */

532     public RAttributeAttributeGroupPeer getPeer()
533     {
534         return peer;
535     }
536
537     public String JavaDoc toString()
538     {
539         StringBuffer JavaDoc str = new StringBuffer JavaDoc();
540         str.append("RAttributeAttributeGroup:\n");
541         str.append("GroupId = ")
542                .append(getGroupId())
543              .append("\n");
544         str.append("AttributeId = ")
545                .append(getAttributeId())
546              .append("\n");
547         str.append("Order = ")
548                .append(getOrder())
549              .append("\n");
550         return(str.toString());
551     }
552 }
553
Popular Tags