Subversion Repositories DevTools

Rev

Rev 7033 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6914 dpurdie 1
package com.erggroup.buildtool.daemon;
2
 
3
import java.util.Timer;
4
import java.util.TimerTask;
5
 
7033 dpurdie 6
import org.slf4j.Logger;
7
import org.slf4j.LoggerFactory;
6914 dpurdie 8
 
9
/**Task scheduling template
10
 */
11
public class ResumeTimerTask
12
  extends TimerTask
13
{
14
  /**Logger
15
   * @attribute
16
   */
7033 dpurdie 17
  private static final Logger mLogger = LoggerFactory.getLogger(ResumeTimerTask.class);
6914 dpurdie 18
 
19
  /**initially false
20
   * true when cancelled
21
   * @attribute
22
   */
23
  private boolean mTimerCancelled = false;
24
 
25
  /**timer handle to cancel the Timer thread
26
   * @attribute
27
   */
28
  private Timer mTimer;
29
 
30
  /**constructor
31
   */
32
  ResumeTimerTask()
33
  {
34
    mLogger.debug("ResumeTimerTask");
35
  }
36
 
37
  /**notifies all threads waiting on this objects monitor
38
   */
39
  public void run()
40
  {
41
    synchronized(BuildThread.mSynchroniser)
42
    {
43
      mLogger.debug("run");
44
      // wake up all BuildThreads waiting on its monitor
45
      BuildThread.mSynchroniser.notifyAll();
46
      mTimer.cancel();
47
      mTimerCancelled = true;
48
    }
49
  }
50
 
51
  /**accessor
52
   */
53
  void setTimer(Timer timer)
54
  {
55
    mLogger.debug("setTimer");
56
    mTimer = timer;
57
    mTimerCancelled = false;
58
  }
59
 
60
  /** Indicates that the time is not active
61
   * @return true - Timer is not active, False - Timer has been set
62
   * 
63
   */
64
  boolean isCancelled()
65
  {
66
    mLogger.debug("isCancelled");
67
    mLogger.info("isCancelled returned " + mTimerCancelled);
68
    return mTimerCancelled;
69
  }
70
}