KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > java > source > engine > ElapsedTimer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.modules.java.source.engine;
20
21 /**
22  * A simple class for calculating and reporting elapsed system time.
23  * Each timer has a start time and may have an end time. If an
24  * elapsed time value is requested of a timer which doesn't have its
25  * stop time set, the current system time is used.
26  */

27 public class ElapsedTimer {
28     // System times in milliseconds; see System.currentTimeMillis();
29
private long startTime;
30     private long stopTime;
31
32     /**
33      * Create a new timer.
34      */

35     public ElapsedTimer() {
36     reset();
37     }
38
39     /**
40      * Stop the current timer; that is, set its stopTime.
41      */

42     public void stop() {
43     stopTime = System.currentTimeMillis();
44     }
45
46     /**
47      * Reset the starting time to the current system time.
48      */

49     public final void reset() {
50     startTime = System.currentTimeMillis();
51     }
52
53     public long getElapsedMilliseconds() {
54     long st = (stopTime == 0) ? System.currentTimeMillis() : stopTime;
55     return st - startTime;
56     }
57
58     public int getElapsedSeconds() {
59     return (int)(getElapsedMilliseconds() / 1000L);
60     }
61
62     public String JavaDoc toString() {
63     long ms = getElapsedMilliseconds();
64     StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
65     sb.append(ms / 1000L);
66     sb.append('.');
67     sb.append(ms % 1000L);
68     sb.append(" seconds");
69     return sb.toString();
70     }
71 }
72
73
74     
75
Popular Tags