package javaforce;
import javaforce.*;
import java.util.Timer;
import java.util.TimerTask;
/**
* A simpler to use Timer, that uses a callback interface.
*
* @see TimerEvent
* @author Peter Quiring
*/
public class JFTimer {
private Timer timer;
private TimerEvent timerevent = null;
private class timertask extends TimerTask {
private JFTimer jftimer;
public timertask(JFTimer t) {
jftimer = t;
}
public void run() {
timerevent.timerEvent(jftimer);
}
}
public JFTimer() {
}
public JFTimer(TimerEvent eh) {
timerevent = eh;
}
public void setTimerEvent(TimerEvent eh) {
timerevent = eh;
}
public void start(long delay) {
if (timer != null) {
stop();
}
timer = new java.util.Timer();
timer.schedule(new timertask(this), delay, delay);
}
public void startOneTime(long delay) {
if (timer != null) {
stop();
}
timer = new java.util.Timer();
timer.schedule(new timertask(this), delay);
}
public void stop() {
timer.cancel();
timer = null;
}
}