View Javadoc
1   package org.apache.turbine.services.schedule;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.turbine.util.TurbineException;
23  
24  /**
25   * This is an implementation of a JobEntry with no persistence. It is used by the
26   * {@link TurbineNonPersistentSchedulerService}
27   *
28   */
29  public class JobEntryNonPersistent extends AbstractJobEntry
30  {
31      private int jobId;
32      private int sec;
33      private int min;
34      private int hour;
35      private int wd;
36      private int day_mo;
37      private String task;
38      private boolean isnew = true;
39  
40      /**
41       * Default constructor
42       */
43      public JobEntryNonPersistent()
44      {
45          super();
46      }
47  
48      /**
49       * Constructor.
50       *
51       * Schedule a job to run on a certain point of time.<br>
52       *
53       * Example 1: Run the DefaultScheduledJob at 8:00am every 15th of
54       * the month - <br>
55       *
56       * JobEntry je = new JobEntry(0,0,8,15,"DefaultScheduledJob");<br>
57       *
58       * Example 2: Run the DefaultScheduledJob at 8:00am every day -
59       * <br>
60       *
61       * JobEntry je = new JobEntry(0,0,8,-1,"DefaultScheduledJob");<br>
62       *
63       * Example 3: Run the DefaultScheduledJob every 2 hours. - <br>
64       *
65       * JobEntry je = new JobEntry(0,120,-1,-1,"DefaultScheduledJob");<br>
66       *
67       * Example 4: Run the DefaultScheduledJob every 30 seconds. - <br>
68       *
69       * JobEntry je = new JobEntry(30,-1,-1,-1,"DefaultScheduledJob");<br>
70       *
71       * @param sec Value for entry "seconds".
72       * @param min Value for entry "minutes".
73       * @param hour Value for entry "hours".
74       * @param wd Value for entry "week days".
75       * @param day_mo Value for entry "month days".
76       * @param task Task to execute.
77       * @throws TurbineException a generic exception.
78       */
79      public JobEntryNonPersistent(int sec,
80                      int min,
81                      int hour,
82                      int wd,
83                      int day_mo,
84                      String task)
85              throws TurbineException
86      {
87          super(sec, min, hour, wd, day_mo, task);
88      }
89  
90      /**
91       * @see java.lang.Object#hashCode()
92       */
93      @Override
94      public int hashCode()
95      {
96          return Integer.valueOf(jobId).hashCode();
97      }
98  
99      /**
100      * @see java.lang.Object#equals(java.lang.Object)
101      */
102     @Override
103     public boolean equals(Object obj)
104     {
105         if (obj instanceof JobEntry)
106         {
107             return compareTo((JobEntry)obj) == 0;
108         }
109 
110         return false;
111     }
112 
113     /**
114      * Return true, if the entry is not yet persisted
115      */
116     @Override
117     public boolean isNew()
118     {
119         boolean _isnew = isnew;
120         isnew = false;
121         return _isnew;
122     }
123 
124     /**
125      * Get the value of jobId.
126      *
127      * @return int
128      */
129     @Override
130     public int getJobId()
131     {
132         return jobId;
133     }
134 
135     /**
136      * Set the value of jobId.
137      *
138      * @param v new value
139      */
140     @Override
141     public void setJobId(int v)
142     {
143         this.jobId = v;
144     }
145 
146     /**
147      * Get the value of second.
148      *
149      * @return int
150      */
151     @Override
152     public int getSecond()
153     {
154         return sec;
155     }
156 
157     /**
158      * Set the value of second.
159      *
160      * @param v new value
161      */
162     @Override
163     public void setSecond(int v)
164     {
165         this.sec = v;
166     }
167 
168     /**
169      * Get the value of minute.
170      *
171      * @return int
172      */
173     @Override
174     public int getMinute()
175     {
176         return min;
177     }
178 
179     /**
180      * Set the value of minute.
181      *
182      * @param v new value
183      */
184     @Override
185     public void setMinute(int v)
186     {
187         this.min = v;
188     }
189 
190     /**
191      * Get the value of hour.
192      *
193      * @return int
194      */
195     @Override
196     public int getHour()
197     {
198         return hour;
199     }
200 
201     /**
202      * Set the value of hour.
203      *
204      * @param v new value
205      */
206     @Override
207     public void setHour(int v)
208     {
209         this.hour = v;
210     }
211 
212     /**
213      * Get the value of weekDay.
214      *
215      * @return int
216      */
217     @Override
218     public int getWeekDay()
219     {
220         return wd;
221     }
222 
223     /**
224      * Set the value of weekDay.
225      *
226      * @param v new value
227      */
228     @Override
229     public void setWeekDay(int v)
230     {
231         this.wd = v;
232     }
233 
234     /**
235      * Get the value of dayOfMonth.
236      *
237      * @return int
238      */
239     @Override
240     public int getDayOfMonth()
241     {
242         return day_mo;
243     }
244 
245     /**
246      * Set the value of dayOfMonth.
247      *
248      * @param v new value
249      */
250     @Override
251     public void setDayOfMonth(int v)
252     {
253         this.day_mo = v;
254     }
255 
256     /**
257      * Get the value of task.
258      *
259      * @return String
260      */
261     @Override
262     public String getTask()
263     {
264         return task;
265     }
266 
267     /**
268      * Set the value of task.
269      *
270      * @param v new value
271      */
272     @Override
273     public void setTask(String v)
274     {
275         this.task = v;
276     }
277 }