KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > modules > scheduler > Action


1 package com.openedit.modules.scheduler;
2
3 import java.util.TimerTask JavaDoc;
4
5 import com.openedit.config.Configuration;
6
7
8 public class Action
9 {
10
11     protected long fieldPeriod;
12     protected String JavaDoc fieldFormattedPeriod;
13     protected long fieldDelay;
14     protected String JavaDoc fieldFormattedDelay;
15     protected String JavaDoc fieldPath;
16     protected String JavaDoc fieldUserName;
17     protected boolean fieldStarted;
18     protected TimerTask JavaDoc fieldTimerTask;
19     protected Configuration fieldConfig;
20     
21     Action()
22     {
23         setDefaults();
24     }
25         
26     public Action(String JavaDoc inPath, long inDelay, long inPeriod)
27     {
28         setPath(inPath);
29         setDelay(inDelay);
30         setPeriod(inPeriod);
31     }
32     
33     Action(String JavaDoc inPath, String JavaDoc inDelay, String JavaDoc inPeriod)
34     {
35         setDefaults();
36         setPath(inPath);
37         if (inDelay != null && inDelay.length() > 0)
38         {
39             setDelay(inDelay);
40         }
41         if (inPeriod != null && inPeriod.length() > 0)
42         {
43             setPeriod(inPeriod);
44         }
45     }
46     
47     private void setDefaults()
48     {
49         setPeriod(12 * 60 * 60 * 1000); //defaults to runing every 12 hours
50
setDelay(60000L); //defaults to one minute
51
}
52     
53     public long getDelay()
54     {
55         return fieldDelay;
56     }
57     public String JavaDoc getFormattedDelay()
58     {
59         return fieldFormattedDelay;
60     }
61     public void setDelay(long inDelay)
62     {
63         fieldDelay = inDelay;
64     }
65     public void setDelay(String JavaDoc inDelay)
66     {
67         fieldDelay = parse(inDelay);
68         fieldFormattedDelay = inDelay;
69     }
70     public String JavaDoc getPath()
71     {
72         return fieldPath;
73     }
74     public String JavaDoc getName()
75     {
76         return getPath();
77     }
78     public void setPath(String JavaDoc inPath)
79     {
80         fieldPath = inPath;
81     }
82     public long getPeriod()
83     {
84         return fieldPeriod;
85     }
86     public void setPeriod(long inPeriod)
87     {
88         fieldPeriod = inPeriod;
89     }
90     public void setPeriod(String JavaDoc inPeriod)
91     {
92         fieldPeriod = parse(inPeriod);
93         fieldFormattedPeriod = inPeriod;
94     }
95     
96     public String JavaDoc getFormattedPeriod()
97     {
98         return fieldFormattedPeriod;
99     }
100
101     public boolean isStarted()
102     {
103         return fieldStarted;
104     }
105
106     public void setStarted(boolean inStarted)
107     {
108         fieldStarted = inStarted;
109     }
110     
111
112     /**
113      * @param inPeriodString
114      * @return
115      */

116     private long parse(String JavaDoc inPeriodString)
117     {
118         if (inPeriodString == null)
119         {
120             return 0;
121         }
122         
123         inPeriodString = inPeriodString.trim().toLowerCase();
124         
125         if ( inPeriodString.endsWith("d"))
126         {
127             long days = Long.parseLong(inPeriodString.substring(0,inPeriodString.length()-1));
128             long period = days * 24 * 60L * 60L * 1000L;
129             return period;
130         }
131         else if ( inPeriodString.endsWith("h"))
132         {
133             long hours = Long.parseLong(inPeriodString.substring(0,inPeriodString.length()-1));
134             long period = hours * 60L * 60L * 1000L;
135             return period;
136         }
137         else if ( inPeriodString.endsWith("m"))
138         {
139             long min = Long.parseLong(inPeriodString.substring(0,inPeriodString.length()-1));
140             long period = min * 60L * 1000L;
141             return period;
142         }
143         else if ( inPeriodString.endsWith("s"))
144         {
145             long sec = Long.parseLong(inPeriodString.substring(0,inPeriodString.length()-1));
146             long period = sec * 1000L;
147             return period;
148         }
149         else
150         {
151             long period = Long.parseLong( inPeriodString );
152             return period;
153         }
154     }
155
156     public TimerTask JavaDoc getTimerTask()
157     {
158         return fieldTimerTask;
159     }
160
161     public void setTimerTask(TimerTask JavaDoc inTimerTask)
162     {
163         fieldTimerTask = inTimerTask;
164     }
165     
166     public void stop()
167     {
168         if (getTimerTask() != null)
169         {
170             getTimerTask().cancel();
171         }
172     }
173
174     public String JavaDoc getUserName()
175     {
176         return fieldUserName;
177     }
178
179     public void setUserName(String JavaDoc inUserName)
180     {
181         fieldUserName = inUserName;
182     }
183
184     public Configuration getConfig()
185     {
186         return fieldConfig;
187     }
188
189     public void setConfig(Configuration inConfig)
190     {
191         fieldConfig = inConfig;
192     }
193     
194 }
195
Popular Tags