package CustomTimer.TimerTypes.FullNames.TaskTimers;
import CustomTimer.Util.ExonTimerStorer;
import CustomTimer.Util.Interfaces.CustomTimer;
import CustomTimer.Util.Interfaces.ExonRunTask;
import java.util.Timer;
import java.util.TimerTask;
public class ExonTaskTimer
implements CustomTimer
{
protected int timerid;
protected long tickTime;
protected Timer Timer = null;
protected ExonRunTask taskToRun;
public ExonTaskTimer(ExonRunTask taskToRun, long tickTime)
{
if ((taskToRun != null) && (tickTime > 0L))
{
this.timerid = ((int)System.currentTimeMillis() / 2);
this.tickTime = tickTime;
this.taskToRun = taskToRun;
ExonTimerStorer.getInstance().add(this, this.timerid);
startTimer();
}
}
public int getId()
{
return this.timerid;
}
public ExonRunTask getRunTask()
{
return this.taskToRun;
}
public void startTimer()
{
Timer T = new Timer();
T.schedule(new TimerTask()
{
public void run()
{
ExonTaskTimer.this.taskToRun.run();
}
}, this.tickTime);
this.Timer = T;
}
public void stop()
{
if (this.Timer != null) {
this.Timer.cancel();
}
}
}