1 package de.webman.util.scheduler; 2 3 import java.util.Date ; 4 import java.util.Calendar ; 5 6 7 15 class FrequentService 16 extends ServiceEntry 17 { 18 19 20 30 FrequentService(String _id, 31 Date _start_at, 32 Date _stop_at, 33 long _frequency, long _delay, 34 SchedulerServiceFactory _factory) 35 { 36 if (_delay > 0) { 37 Calendar cal = Calendar.getInstance(); 38 cal.setTime(_start_at); 39 cal.add(Calendar.MILLISECOND, (int)_delay); 40 _start_at = cal.getTime(); 41 } 42 43 init(_id, _start_at, _stop_at, _frequency, _delay, _factory); 44 } 45 46 47 52 boolean isDue(Date ref) { 53 return (ref.after(start_at) && 54 (last + frequency < System.currentTimeMillis())); 55 } 56 57 62 boolean isOutdated(Date ref) { 63 if (stop_at != null) 64 return ref.after(stop_at); 65 return false; 66 } 67 68 69 74 void executeNewService() { 75 execute(); 76 last = System.currentTimeMillis(); 77 } 78 } 79 80 | Popular Tags |