Rev 7033 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.erggroup.buildtool.daemon;import java.util.Timer;import java.util.TimerTask;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/**Task scheduling template*/public class ResumeTimerTaskextends TimerTask{/**Logger* @attribute*/private static final Logger mLogger = LoggerFactory.getLogger(ResumeTimerTask.class);/**initially false* true when cancelled* @attribute*/private boolean mTimerCancelled = false;/**timer handle to cancel the Timer thread* @attribute*/private Timer mTimer;/**constructor*/ResumeTimerTask(){mLogger.debug("ResumeTimerTask");}/**notifies all threads waiting on this objects monitor*/public void run(){synchronized(BuildThread.mSynchroniser){mLogger.debug("run");// wake up all BuildThreads waiting on its monitorBuildThread.mSynchroniser.notifyAll();mTimer.cancel();mTimerCancelled = true;}}/**accessor*/void setTimer(Timer timer){mLogger.debug("setTimer");mTimer = timer;mTimerCancelled = false;}/** Indicates that the time is not active* @return true - Timer is not active, False - Timer has been set**/boolean isCancelled(){mLogger.debug("isCancelled");mLogger.info("isCancelled returned " + mTimerCancelled);return mTimerCancelled;}}