View Javadoc

1   package org.apache.turbine.services.schedule;
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:50 CET 2008]
33   *
34   * You should not use this class directly.  It should not even be
35   * extended all references should be to JobEntry
36   */
37  public abstract class BaseJobEntry extends BaseObject
38  {
39      /*** Serial version */
40      private static final long serialVersionUID = 1225810430285L;
41  
42      /*** The Peer class */
43      private static final JobEntryPeer peer =
44          new JobEntryPeer();
45  
46  
47      /*** The value for the jobId field */
48      private int jobId;
49  
50      /*** The value for the second field */
51      private int second = -1;
52  
53      /*** The value for the minute field */
54      private int minute = -1;
55  
56      /*** The value for the hour field */
57      private int hour = -1;
58  
59      /*** The value for the weekDay field */
60      private int weekDay = -1;
61  
62      /*** The value for the dayOfMonth field */
63      private int dayOfMonth = -1;
64  
65      /*** The value for the task field */
66      private String task;
67  
68      /*** The value for the email field */
69      private String email;
70  
71      /*** The value for the property field */
72      private byte[] property;
73  
74  
75      /***
76       * Get the JobId
77       *
78       * @return int
79       */
80      public int getJobId()
81      {
82          return jobId;
83      }
84  
85  
86      /***
87       * Set the value of JobId
88       *
89       * @param v new value
90       */
91      public void setJobId(int v) 
92      {
93  
94          if (this.jobId != v)
95          {
96              this.jobId = v;
97              setModified(true);
98          }
99  
100 
101     }
102 
103     /***
104      * Get the Second
105      *
106      * @return int
107      */
108     public int getSecond()
109     {
110         return second;
111     }
112 
113 
114     /***
115      * Set the value of Second
116      *
117      * @param v new value
118      */
119     public void setSecond(int v) 
120     {
121 
122         if (this.second != v)
123         {
124             this.second = v;
125             setModified(true);
126         }
127 
128 
129     }
130 
131     /***
132      * Get the Minute
133      *
134      * @return int
135      */
136     public int getMinute()
137     {
138         return minute;
139     }
140 
141 
142     /***
143      * Set the value of Minute
144      *
145      * @param v new value
146      */
147     public void setMinute(int v) 
148     {
149 
150         if (this.minute != v)
151         {
152             this.minute = v;
153             setModified(true);
154         }
155 
156 
157     }
158 
159     /***
160      * Get the Hour
161      *
162      * @return int
163      */
164     public int getHour()
165     {
166         return hour;
167     }
168 
169 
170     /***
171      * Set the value of Hour
172      *
173      * @param v new value
174      */
175     public void setHour(int v) 
176     {
177 
178         if (this.hour != v)
179         {
180             this.hour = v;
181             setModified(true);
182         }
183 
184 
185     }
186 
187     /***
188      * Get the WeekDay
189      *
190      * @return int
191      */
192     public int getWeekDay()
193     {
194         return weekDay;
195     }
196 
197 
198     /***
199      * Set the value of WeekDay
200      *
201      * @param v new value
202      */
203     public void setWeekDay(int v) 
204     {
205 
206         if (this.weekDay != v)
207         {
208             this.weekDay = v;
209             setModified(true);
210         }
211 
212 
213     }
214 
215     /***
216      * Get the DayOfMonth
217      *
218      * @return int
219      */
220     public int getDayOfMonth()
221     {
222         return dayOfMonth;
223     }
224 
225 
226     /***
227      * Set the value of DayOfMonth
228      *
229      * @param v new value
230      */
231     public void setDayOfMonth(int v) 
232     {
233 
234         if (this.dayOfMonth != v)
235         {
236             this.dayOfMonth = v;
237             setModified(true);
238         }
239 
240 
241     }
242 
243     /***
244      * Get the Task
245      *
246      * @return String
247      */
248     public String getTask()
249     {
250         return task;
251     }
252 
253 
254     /***
255      * Set the value of Task
256      *
257      * @param v new value
258      */
259     public void setTask(String v) 
260     {
261 
262         if (!ObjectUtils.equals(this.task, v))
263         {
264             this.task = v;
265             setModified(true);
266         }
267 
268 
269     }
270 
271     /***
272      * Get the Email
273      *
274      * @return String
275      */
276     public String getEmail()
277     {
278         return email;
279     }
280 
281 
282     /***
283      * Set the value of Email
284      *
285      * @param v new value
286      */
287     public void setEmail(String v) 
288     {
289 
290         if (!ObjectUtils.equals(this.email, v))
291         {
292             this.email = v;
293             setModified(true);
294         }
295 
296 
297     }
298 
299     /***
300      * Get the Property
301      *
302      * @return byte[]
303      */
304     public byte[] getProperty()
305     {
306         return property;
307     }
308 
309 
310     /***
311      * Set the value of Property
312      *
313      * @param v new value
314      */
315     public void setProperty(byte[] v) 
316     {
317 
318         if (!ObjectUtils.equals(this.property, v))
319         {
320             this.property = v;
321             setModified(true);
322         }
323 
324 
325     }
326 
327        
328         
329     private static List fieldNames = null;
330 
331     /***
332      * Generate a list of field names.
333      *
334      * @return a list of field names
335      */
336     public static synchronized List getFieldNames()
337     {
338         if (fieldNames == null)
339         {
340             fieldNames = new ArrayList();
341             fieldNames.add("JobId");
342             fieldNames.add("Second");
343             fieldNames.add("Minute");
344             fieldNames.add("Hour");
345             fieldNames.add("WeekDay");
346             fieldNames.add("DayOfMonth");
347             fieldNames.add("Task");
348             fieldNames.add("Email");
349             fieldNames.add("Property");
350             fieldNames = Collections.unmodifiableList(fieldNames);
351         }
352         return fieldNames;
353     }
354 
355     /***
356      * Retrieves a field from the object by field (Java) name passed in as a String.
357      *
358      * @param name field name
359      * @return value
360      */
361     public Object getByName(String name)
362     {
363         if (name.equals("JobId"))
364         {
365             return new Integer(getJobId());
366         }
367         if (name.equals("Second"))
368         {
369             return new Integer(getSecond());
370         }
371         if (name.equals("Minute"))
372         {
373             return new Integer(getMinute());
374         }
375         if (name.equals("Hour"))
376         {
377             return new Integer(getHour());
378         }
379         if (name.equals("WeekDay"))
380         {
381             return new Integer(getWeekDay());
382         }
383         if (name.equals("DayOfMonth"))
384         {
385             return new Integer(getDayOfMonth());
386         }
387         if (name.equals("Task"))
388         {
389             return getTask();
390         }
391         if (name.equals("Email"))
392         {
393             return getEmail();
394         }
395         if (name.equals("Property"))
396         {
397             return getProperty();
398         }
399         return null;
400     }
401 
402     /***
403      * Set a field in the object by field (Java) name.
404      *
405      * @param name field name
406      * @param value field value
407      * @return True if value was set, false if not (invalid name / protected field).
408      * @throws IllegalArgumentException if object type of value does not match field object type.
409      * @throws TorqueException If a problem occurs with the set[Field] method.
410      */
411     public boolean setByName(String name, Object value )
412         throws TorqueException, IllegalArgumentException
413     {
414         if (name.equals("JobId"))
415         {
416             if (value == null || ! (Integer.class.isInstance(value)))
417             {
418                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
419             }
420             setJobId(((Integer) value).intValue());
421             return true;
422         }
423         if (name.equals("Second"))
424         {
425             if (value == null || ! (Integer.class.isInstance(value)))
426             {
427                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
428             }
429             setSecond(((Integer) value).intValue());
430             return true;
431         }
432         if (name.equals("Minute"))
433         {
434             if (value == null || ! (Integer.class.isInstance(value)))
435             {
436                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
437             }
438             setMinute(((Integer) value).intValue());
439             return true;
440         }
441         if (name.equals("Hour"))
442         {
443             if (value == null || ! (Integer.class.isInstance(value)))
444             {
445                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
446             }
447             setHour(((Integer) value).intValue());
448             return true;
449         }
450         if (name.equals("WeekDay"))
451         {
452             if (value == null || ! (Integer.class.isInstance(value)))
453             {
454                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
455             }
456             setWeekDay(((Integer) value).intValue());
457             return true;
458         }
459         if (name.equals("DayOfMonth"))
460         {
461             if (value == null || ! (Integer.class.isInstance(value)))
462             {
463                 throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
464             }
465             setDayOfMonth(((Integer) value).intValue());
466             return true;
467         }
468         if (name.equals("Task"))
469         {
470             // Object fields can be null
471             if (value != null && ! String.class.isInstance(value))
472             {
473                 throw new IllegalArgumentException("Invalid type of object specified for value in setByName");
474             }
475             setTask((String) value);
476             return true;
477         }
478         if (name.equals("Email"))
479         {
480             // Object fields can be null
481             if (value != null && ! String.class.isInstance(value))
482             {
483                 throw new IllegalArgumentException("Invalid type of object specified for value in setByName");
484             }
485             setEmail((String) value);
486             return true;
487         }
488         if (name.equals("Property"))
489         {
490             // Object fields can be null
491             if (value != null && ! byte[].class.isInstance(value))
492             {
493                 throw new IllegalArgumentException("Invalid type of object specified for value in setByName");
494             }
495             setProperty((byte[]) value);
496             return true;
497         }
498         return false;
499     }
500 
501     /***
502      * Retrieves a field from the object by name passed in
503      * as a String.  The String must be one of the static
504      * Strings defined in this Class' Peer.
505      *
506      * @param name peer name
507      * @return value
508      */
509     public Object getByPeerName(String name)
510     {
511         if (name.equals(JobEntryPeer.JOB_ID))
512         {
513             return new Integer(getJobId());
514         }
515         if (name.equals(JobEntryPeer.SECOND))
516         {
517             return new Integer(getSecond());
518         }
519         if (name.equals(JobEntryPeer.MINUTE))
520         {
521             return new Integer(getMinute());
522         }
523         if (name.equals(JobEntryPeer.HOUR))
524         {
525             return new Integer(getHour());
526         }
527         if (name.equals(JobEntryPeer.WEEK_DAY))
528         {
529             return new Integer(getWeekDay());
530         }
531         if (name.equals(JobEntryPeer.DAY_OF_MONTH))
532         {
533             return new Integer(getDayOfMonth());
534         }
535         if (name.equals(JobEntryPeer.TASK))
536         {
537             return getTask();
538         }
539         if (name.equals(JobEntryPeer.EMAIL))
540         {
541             return getEmail();
542         }
543         if (name.equals(JobEntryPeer.PROPERTY))
544         {
545             return getProperty();
546         }
547         return null;
548     }
549 
550     /***
551      * Set field values by Peer Field Name
552      *
553      * @param name field name
554      * @param value field value
555      * @return True if value was set, false if not (invalid name / protected field).
556      * @throws IllegalArgumentException if object type of value does not match field object type.
557      * @throws TorqueException If a problem occurs with the set[Field] method.
558      */
559     public boolean setByPeerName(String name, Object value)
560         throws TorqueException, IllegalArgumentException
561     {
562       if (JobEntryPeer.JOB_ID.equals(name))
563         {
564             return setByName("JobId", value);
565         }
566       if (JobEntryPeer.SECOND.equals(name))
567         {
568             return setByName("Second", value);
569         }
570       if (JobEntryPeer.MINUTE.equals(name))
571         {
572             return setByName("Minute", value);
573         }
574       if (JobEntryPeer.HOUR.equals(name))
575         {
576             return setByName("Hour", value);
577         }
578       if (JobEntryPeer.WEEK_DAY.equals(name))
579         {
580             return setByName("WeekDay", value);
581         }
582       if (JobEntryPeer.DAY_OF_MONTH.equals(name))
583         {
584             return setByName("DayOfMonth", value);
585         }
586       if (JobEntryPeer.TASK.equals(name))
587         {
588             return setByName("Task", value);
589         }
590       if (JobEntryPeer.EMAIL.equals(name))
591         {
592             return setByName("Email", value);
593         }
594       if (JobEntryPeer.PROPERTY.equals(name))
595         {
596             return setByName("Property", value);
597         }
598         return false;
599     }
600 
601     /***
602      * Retrieves a field from the object by Position as specified
603      * in the xml schema.  Zero-based.
604      *
605      * @param pos position in xml schema
606      * @return value
607      */
608     public Object getByPosition(int pos)
609     {
610         if (pos == 0)
611         {
612             return new Integer(getJobId());
613         }
614         if (pos == 1)
615         {
616             return new Integer(getSecond());
617         }
618         if (pos == 2)
619         {
620             return new Integer(getMinute());
621         }
622         if (pos == 3)
623         {
624             return new Integer(getHour());
625         }
626         if (pos == 4)
627         {
628             return new Integer(getWeekDay());
629         }
630         if (pos == 5)
631         {
632             return new Integer(getDayOfMonth());
633         }
634         if (pos == 6)
635         {
636             return getTask();
637         }
638         if (pos == 7)
639         {
640             return getEmail();
641         }
642         if (pos == 8)
643         {
644             return getProperty();
645         }
646         return null;
647     }
648 
649     /***
650      * Set field values by its position (zero based) in the XML schema.
651      *
652      * @param position The field position
653      * @param value field value
654      * @return True if value was set, false if not (invalid position / protected field).
655      * @throws IllegalArgumentException if object type of value does not match field object type.
656      * @throws TorqueException If a problem occurs with the set[Field] method.
657      */
658     public boolean setByPosition(int position, Object value)
659         throws TorqueException, IllegalArgumentException
660     {
661     if (position == 0)
662         {
663             return setByName("JobId", value);
664         }
665     if (position == 1)
666         {
667             return setByName("Second", value);
668         }
669     if (position == 2)
670         {
671             return setByName("Minute", value);
672         }
673     if (position == 3)
674         {
675             return setByName("Hour", value);
676         }
677     if (position == 4)
678         {
679             return setByName("WeekDay", value);
680         }
681     if (position == 5)
682         {
683             return setByName("DayOfMonth", value);
684         }
685     if (position == 6)
686         {
687             return setByName("Task", value);
688         }
689     if (position == 7)
690         {
691             return setByName("Email", value);
692         }
693     if (position == 8)
694         {
695             return setByName("Property", value);
696         }
697         return false;
698     }
699      
700     /***
701      * Stores the object in the database.  If the object is new,
702      * it inserts it; otherwise an update is performed.
703      *
704      * @throws Exception
705      */
706     public void save() throws Exception
707     {
708         save(JobEntryPeer.DATABASE_NAME);
709     }
710 
711     /***
712      * Stores the object in the database.  If the object is new,
713      * it inserts it; otherwise an update is performed.
714      * Note: this code is here because the method body is
715      * auto-generated conditionally and therefore needs to be
716      * in this file instead of in the super class, BaseObject.
717      *
718      * @param dbName
719      * @throws TorqueException
720      */
721     public void save(String dbName) throws TorqueException
722     {
723         Connection con = null;
724         try
725         {
726             con = Transaction.begin(dbName);
727             save(con);
728             Transaction.commit(con);
729         }
730         catch(TorqueException e)
731         {
732             Transaction.safeRollback(con);
733             throw e;
734         }
735     }
736 
737     /*** flag to prevent endless save loop, if this object is referenced
738         by another object which falls in this transaction. */
739     private boolean alreadyInSave = false;
740     /***
741      * Stores the object in the database.  If the object is new,
742      * it inserts it; otherwise an update is performed.  This method
743      * is meant to be used as part of a transaction, otherwise use
744      * the save() method and the connection details will be handled
745      * internally
746      *
747      * @param con
748      * @throws TorqueException
749      */
750     public void save(Connection con) throws TorqueException
751     {
752         if (!alreadyInSave)
753         {
754             alreadyInSave = true;
755 
756 
757 
758             // If this object has been modified, then save it to the database.
759             if (isModified())
760             {
761                 if (isNew())
762                 {
763                     JobEntryPeer.doInsert((JobEntry) this, con);
764                     setNew(false);
765                 }
766                 else
767                 {
768                     JobEntryPeer.doUpdate((JobEntry) this, con);
769                 }
770             }
771 
772             alreadyInSave = false;
773         }
774     }
775 
776 
777     /***
778      * Set the PrimaryKey using ObjectKey.
779      *
780      * @param key jobId ObjectKey
781      */
782     public void setPrimaryKey(ObjectKey key)
783         
784     {
785         setJobId(((NumberKey) key).intValue());
786     }
787 
788     /***
789      * Set the PrimaryKey using a String.
790      *
791      * @param key
792      */
793     public void setPrimaryKey(String key) 
794     {
795         setJobId(Integer.parseInt(key));
796     }
797 
798 
799     /***
800      * returns an id that differentiates this object from others
801      * of its class.
802      */
803     public ObjectKey getPrimaryKey()
804     {
805         return SimpleKey.keyFor(getJobId());
806     }
807  
808 
809     /***
810      * Makes a copy of this object.
811      * It creates a new object filling in the simple attributes.
812      * It then fills all the association collections and sets the
813      * related objects to isNew=true.
814      */
815     public JobEntry copy() throws TorqueException
816     {
817         return copy(true);
818     }
819 
820     /***
821      * Makes a copy of this object using connection.
822      * It creates a new object filling in the simple attributes.
823      * It then fills all the association collections and sets the
824      * related objects to isNew=true.
825      *
826      * @param con the database connection to read associated objects.
827      */
828     public JobEntry copy(Connection con) throws TorqueException
829     {
830         return copy(true, con);
831     }
832 
833     /***
834      * Makes a copy of this object.
835      * It creates a new object filling in the simple attributes.
836      * If the parameter deepcopy is true, it then fills all the
837      * association collections and sets the related objects to
838      * isNew=true.
839      *
840      * @param deepcopy whether to copy the associated objects.
841      */
842     public JobEntry copy(boolean deepcopy) throws TorqueException
843     {
844         return copyInto(new JobEntry(), deepcopy);
845     }
846 
847     /***
848      * Makes a copy of this object using connection.
849      * It creates a new object filling in the simple attributes.
850      * If the parameter deepcopy is true, it then fills all the
851      * association collections and sets the related objects to
852      * isNew=true.
853      *
854      * @param deepcopy whether to copy the associated objects.
855      * @param con the database connection to read associated objects.
856      */
857     public JobEntry copy(boolean deepcopy, Connection con) throws TorqueException
858     {
859         return copyInto(new JobEntry(), deepcopy, con);
860     }
861   
862     /***
863      * Fills the copyObj with the contents of this object.
864      * The associated objects are also copied and treated as new objects.
865      *
866      * @param copyObj the object to fill.
867      */
868     protected JobEntry copyInto(JobEntry copyObj) throws TorqueException
869     {
870         return copyInto(copyObj, true);
871     }
872 
873   
874     /***
875      * Fills the copyObj with the contents of this object using connection.
876      * The associated objects are also copied and treated as new objects.
877      *
878      * @param copyObj the object to fill.
879      * @param con the database connection to read associated objects.
880      */
881     protected JobEntry copyInto(JobEntry copyObj, Connection con) throws TorqueException
882     {
883         return copyInto(copyObj, true, con);
884     }
885   
886     /***
887      * Fills the copyObj with the contents of this object.
888      * If deepcopy is true, The associated objects are also copied
889      * and treated as new objects.
890      *
891      * @param copyObj the object to fill.
892      * @param deepcopy whether the associated objects should be copied.
893      */
894     protected JobEntry copyInto(JobEntry copyObj, boolean deepcopy) throws TorqueException
895     {
896         copyObj.setJobId(jobId);
897         copyObj.setSecond(second);
898         copyObj.setMinute(minute);
899         copyObj.setHour(hour);
900         copyObj.setWeekDay(weekDay);
901         copyObj.setDayOfMonth(dayOfMonth);
902         copyObj.setTask(task);
903         copyObj.setEmail(email);
904         copyObj.setProperty(property);
905 
906         copyObj.setJobId( 0);
907 
908         if (deepcopy)
909         {
910         }
911         return copyObj;
912     }
913         
914     
915     /***
916      * Fills the copyObj with the contents of this object using connection.
917      * If deepcopy is true, The associated objects are also copied
918      * and treated as new objects.
919      *
920      * @param copyObj the object to fill.
921      * @param deepcopy whether the associated objects should be copied.
922      * @param con the database connection to read associated objects.
923      */
924     protected JobEntry copyInto(JobEntry copyObj, boolean deepcopy, Connection con) throws TorqueException
925     {
926         copyObj.setJobId(jobId);
927         copyObj.setSecond(second);
928         copyObj.setMinute(minute);
929         copyObj.setHour(hour);
930         copyObj.setWeekDay(weekDay);
931         copyObj.setDayOfMonth(dayOfMonth);
932         copyObj.setTask(task);
933         copyObj.setEmail(email);
934         copyObj.setProperty(property);
935 
936         copyObj.setJobId( 0);
937 
938         if (deepcopy)
939         {
940         }
941         return copyObj;
942     }
943     
944     
945 
946     /***
947      * returns a peer instance associated with this om.  Since Peer classes
948      * are not to have any instance attributes, this method returns the
949      * same instance for all member of this class. The method could therefore
950      * be static, but this would prevent one from overriding the behavior.
951      */
952     public JobEntryPeer getPeer()
953     {
954         return peer;
955     }
956 
957     /***
958      * Retrieves the TableMap object related to this Table data without
959      * compiler warnings of using getPeer().getTableMap().
960      *
961      * @return The associated TableMap object.
962      */
963     public TableMap getTableMap() throws TorqueException
964     {
965         return JobEntryPeer.getTableMap();
966     }
967 
968 
969     public String toString()
970     {
971         StringBuffer str = new StringBuffer();
972         str.append("JobEntry:\n");
973         str.append("JobId = ")
974            .append(getJobId())
975            .append("\n");
976         str.append("Second = ")
977            .append(getSecond())
978            .append("\n");
979         str.append("Minute = ")
980            .append(getMinute())
981            .append("\n");
982         str.append("Hour = ")
983            .append(getHour())
984            .append("\n");
985         str.append("WeekDay = ")
986            .append(getWeekDay())
987            .append("\n");
988         str.append("DayOfMonth = ")
989            .append(getDayOfMonth())
990            .append("\n");
991         str.append("Task = ")
992            .append(getTask())
993            .append("\n");
994         str.append("Email = ")
995            .append(getEmail())
996            .append("\n");
997         str.append("Property = ")
998            .append("<binary>")
999            .append("\n");
1000         return(str.toString());
1001     }
1002 }