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 }