aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/util/Timer.java
diff options
context:
space:
mode:
authoryzhou <yujiao.zhou@gmail.com>2015-04-21 10:34:27 +0100
committeryzhou <yujiao.zhou@gmail.com>2015-04-21 10:34:27 +0100
commit9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 (patch)
tree47511c0fb89dccff0db4b5990522e04f294d795b /src/uk/ac/ox/cs/pagoda/util/Timer.java
parentb1ac207612ee8b045244253fb94b866104bc34f2 (diff)
downloadACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.tar.gz
ACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.zip
initial version
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/util/Timer.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/util/Timer.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/util/Timer.java b/src/uk/ac/ox/cs/pagoda/util/Timer.java
new file mode 100644
index 0000000..d1814a4
--- /dev/null
+++ b/src/uk/ac/ox/cs/pagoda/util/Timer.java
@@ -0,0 +1,52 @@
1package uk.ac.ox.cs.pagoda.util;
2
3public class Timer {
4
5 double pastTime = 0;
6 boolean active = false;
7
8 long startTime;
9
10 public Timer() {
11 resume();
12 }
13
14 public void resume() {
15 if (active) return;
16 startTime = System.currentTimeMillis();;
17 active = true;
18 }
19
20 public double duration() {
21 double time = pastTime;
22 if (active)
23 time += (System.currentTimeMillis() - startTime) / 1000.;
24 return time;
25 }
26
27 public void pause() {
28 if (!active) return ;
29 pastTime = duration();
30 active = false;
31 }
32
33 public double reset() {
34 double ret = duration();
35 pastTime = 0;
36 active = false;
37 resume();
38 return ret;
39 }
40
41 double timeout = -1;
42
43 public boolean timeOut() {
44 if (timeout < 0) return false;
45 return duration() > timeout;
46 }
47
48 public void setTimeout(double timeout) {
49 this.timeout = timeout;
50 }
51
52}