equal
deleted
inserted
replaced
11 |
11 |
12 |
12 |
13 import java.util.{Timer, TimerTask, Date => JDate} |
13 import java.util.{Timer, TimerTask, Date => JDate} |
14 |
14 |
15 |
15 |
16 object Event_Timer |
16 object Event_Timer { |
17 { |
|
18 private lazy val event_timer = new Timer("event_timer", true) |
17 private lazy val event_timer = new Timer("event_timer", true) |
19 |
18 |
20 final class Request private[Event_Timer](val time: Time, val repeat: Option[Time], task: TimerTask) |
19 final class Request private[Event_Timer]( |
21 { |
20 val time: Time, |
|
21 val repeat: Option[Time], |
|
22 task: TimerTask |
|
23 ) { |
22 def cancel(): Boolean = task.cancel() |
24 def cancel(): Boolean = task.cancel() |
23 } |
25 } |
24 |
26 |
25 def request(time: Time, repeat: Option[Time] = None)(event: => Unit): Request = |
27 def request(time: Time, repeat: Option[Time] = None)(event: => Unit): Request = { |
26 { |
|
27 val task = new TimerTask { def run: Unit = event } |
28 val task = new TimerTask { def run: Unit = event } |
28 repeat match { |
29 repeat match { |
29 case None => event_timer.schedule(task, new JDate(time.ms)) |
30 case None => event_timer.schedule(task, new JDate(time.ms)) |
30 case Some(rep) => event_timer.schedule(task, new JDate(time.ms), rep.ms) |
31 case Some(rep) => event_timer.schedule(task, new JDate(time.ms), rep.ms) |
31 } |
32 } |