1 package com.openedit.modules.scheduler; 2 3 import java.util.TimerTask ; 4 5 import com.openedit.config.Configuration; 6 7 8 public class Action 9 { 10 11 protected long fieldPeriod; 12 protected String fieldFormattedPeriod; 13 protected long fieldDelay; 14 protected String fieldFormattedDelay; 15 protected String fieldPath; 16 protected String fieldUserName; 17 protected boolean fieldStarted; 18 protected TimerTask fieldTimerTask; 19 protected Configuration fieldConfig; 20 21 Action() 22 { 23 setDefaults(); 24 } 25 26 public Action(String inPath, long inDelay, long inPeriod) 27 { 28 setPath(inPath); 29 setDelay(inDelay); 30 setPeriod(inPeriod); 31 } 32 33 Action(String inPath, String inDelay, String 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); setDelay(60000L); } 52 53 public long getDelay() 54 { 55 return fieldDelay; 56 } 57 public String getFormattedDelay() 58 { 59 return fieldFormattedDelay; 60 } 61 public void setDelay(long inDelay) 62 { 63 fieldDelay = inDelay; 64 } 65 public void setDelay(String inDelay) 66 { 67 fieldDelay = parse(inDelay); 68 fieldFormattedDelay = inDelay; 69 } 70 public String getPath() 71 { 72 return fieldPath; 73 } 74 public String getName() 75 { 76 return getPath(); 77 } 78 public void setPath(String 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 inPeriod) 91 { 92 fieldPeriod = parse(inPeriod); 93 fieldFormattedPeriod = inPeriod; 94 } 95 96 public String 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 116 private long parse(String 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 getTimerTask() 157 { 158 return fieldTimerTask; 159 } 160 161 public void setTimerTask(TimerTask 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 getUserName() 175 { 176 return fieldUserName; 177 } 178 179 public void setUserName(String 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 |