1 8 9 package mx4j.timer; 10 11 18 public abstract class TimeTask implements Comparable , Runnable 19 { 20 private long executionTime; 21 private boolean finished; 22 23 26 protected TimeTask() 27 { 28 } 29 30 33 public abstract void run(); 34 35 40 protected boolean isPeriodic() 41 { 42 return false; 43 } 44 45 50 protected long getPeriod() 51 { 52 return 0; 53 } 54 55 59 public boolean getFixedRate() 60 { 61 return false; 62 } 63 64 69 protected long getNextExecutionTime() 70 { 71 return executionTime; 72 } 73 74 79 protected void setNextExecutionTime(long time) 80 { 81 executionTime = time; 82 } 83 84 90 protected void setFinished(boolean value) 91 { 92 finished = value; 93 } 94 95 100 protected boolean isFinished() 101 { 102 return finished; 103 } 104 105 110 public int compareTo(Object obj) 111 { 112 if (obj == null) return 1; 113 if (obj == this) return 0; 114 115 TimeTask other = (TimeTask)obj; 116 long et = getNextExecutionTime(); 117 long oet = other.getNextExecutionTime(); 118 if (et > oet) 119 return 1; 120 else if (et < oet) return -1; 121 return 0; 122 } 123 } 124 | Popular Tags |